站点图标 江湖人士

Xamarin.Forms极光推送JPush真机实战

Xamarin.Forms 极光推送JPush真机实战,本教程对应极光推送文档,Android SDK集成指南,jcenter自动集成步骤一节,在 AndroidManifest.xml 中不需要添加任何 JPush SDK 相关的配置。在开始之前,来个视频:

https://img.hotbests.com/2020/08/xamarin-jpush-1.mp4

csproj文件添加key与packagename

(对应原生开发AndroidManifestPlaceholders相关设置)

注 等于号后的值不用加双引号

<PropertyGroup>
    <AndroidManifestPlaceholders>JPUSH_PKGNAME=包名;JPUSH_APPKEY=你的key;JPUSH_CHANNEL=developer-default;</AndroidManifestPlaceholders>
  </PropertyGroup>

csproj文件添加Android Manifest Merge功能

(对应原生开发合并aar包内AndroidManifest.xml相关配置)

<PropertyGroup>
    <AndroidManifestMerger>manifestmerger.jar</AndroidManifestMerger>
  </PropertyGroup>

Xamarin项目Android端安装安卓nuget包(会自动安装依赖项JCore)

Install-Package XamarinLibrary.Xamarin.Android.Jpush -Version 3.6.0

Xamarin.Android项目添加自定义Receiver与自定义Service

源码位置

SampleApp.Android→SampleReceiver.cs

SampleApp.Android→SampleService.cs

Xamarin.Android MainActivity内启动SDK

源码位置

SampleApp.Android→MainActivity.cs→23行与25行

以上为最小化可交付特性(mmf)所需要的操作

深入解析请参看我的知乎文章

https://zhuanlan.zhihu.com/p/136642814

其他资料:

Xamarin.Forms 演示JPush的Sample的源码:

https://github.com/jingliancui/XamarinFormsJPushSample

极光推送文档,jcenter自动集成jpush

https://docs.jiguang.cn//jpush/client/Android/android_guide/#jcenter

Xamarin.Android合并多个AndroidManifest

https://docs.microsoft.com/en-us/xamarin/android/release-notes/10/10.2#improved-android-manifest-merging

Xamarin.Android设置AndroidManifestPlaceholders

https://github.com/xamarin/xamarin-android/commit/b423ff68a6d11230bb493c3cb0633ff2a9c37b20

Xamarin.Forms极光推送后话

在调试运行app的时候会遇到怎么让Xamarin.Android的配置对应上原生jcenter配置的问题,反而会在这里耗费太多的时间,因为有些配置方式并没有出现在ms docs内。

中途曾经想过直接对应原生走手动配置流程,但看到极光推送文档手动配置流程里面那个内容很长的AndroidManifest.xml的时候,我还是选择继续花时间走自动配置流程了。

原文链接:https://mp.weixin.qq.com/s?__biz=MjM5MTc4MDM1MQ==&mid=2651731566&idx=1&sn=4aba22fe28aeb7fa310f4d38d03c3960

退出移动版