1. 海外Push集成

在项目根目录build.gradle文件下配置以下内容

repositories {
    mavenCentral()
    ......
}

2. 配置依赖

app/build.gradle文件下配置以下内容:

dependencies {
    ......   
    implementation "com.immomo.cosmos.photon:push-hw:1.1.5_071301"
    implementation "com.immomo.cosmos.photon:thirdpush-fcm:1.1.5_071301"
}

3. 配置SO架构

目前支持armeabi-v7a和arm64-v8a架构。在app/build.gradle文件中的android.defaultConfig下指定所需的CPU架构。

android {
......
defaultConfig {
    ......
    ndk {
        abiFilters "armeabi-v7a", 'arm64-v8a'
    }
}

4. 混淆配置

如果项目中使用proguard等工具做了代码混淆,请保留以下选项,否则将导致推送服务不可用。

-keep class com.cosmos.photon.push.**{*;}
-keep interface com.cosmos.photon.push.**{*;}

-keepclasseswithmembernames class * {
  native <methods>;
}
-keep class com.mm.mmfile.core.**{*;}
-keep class com.cosmos.mdlog.**{*;}

5. 代码接入

请参考国内push接入

5.1. 使用条件

  • 要在运行 Android 4.1 及以上版本且安装了 Google Play 商店应用的设备或者在运行 Android 4.1 且支持 Google API 的模拟器中运行
  • 目标为 API 级别 16 (Jelly Bean) 或更高版本
  • 使用 Gradle 4.1 或更高版本

5.2. fcm配置

完成以上配置之后,请确保以下内容配置完毕:

  apply plugin: 'com.google.gms.google-services'
  • 根目录Gradle 文件 (build.gradle) 中添加以下内容
buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath 'com.google.gms:google-services:4.3.15'
    }
}

allprojects {
    repositories {
        google()
    }
}

5.3. 注意事项

  • 一条消息可将最多 4KB 的有效负载传送至客户端应用,但是从 Firebase 控制台发送消息时系统会强制执行 1024 个字符的限制。
  • 设置自定义默认图标需要在application标记内添加以下内容:
<!-- Set custom default icon. This is used when no icon is set for incoming notification messages.
     See README(https://goo.gl/l4GJaQ) for more. -->
<meta-data
    android:name="com.google.firebase.messaging.default_notification_icon"
    android:resource="@drawable/ic_stat_ic_notification" />
  • 从 Android 8.0(API 级别 26)和更高版本开始使用通知渠道。FCM 提供具有基本设置的默认通知渠道。如果您希望创建和使用您自己的默认渠道,请将 default_notification_channel_id 设置为您的通知渠道对象的 ID(如下所示);只要传入的消息未明确设置通知渠道,FCM 就会使用此值。
<meta-data android:name="com.google.firebase.messaging.default_notification_channel_id"
    android:value="@string/default_notification_channel_id" />
  • 防止自动初始化 Firebase 会生成一个实例 ID。FCM 将使用该实例 ID 生成注册令牌,而 Analytics 将使用该实例 ID 收集数据。在生成实例 ID 后,库会将标识符和配置数据上传到 Firebase。如果您希望阻止自动生成实例 ID,请向您的 AndroidManifest.xml 添加以下元数据值,为 FCM 和 Analytics 停用自动初始化功能(您必须同时为这两者停用此功能):
<meta-data
    android:name="firebase_messaging_auto_init_enabled"
    android:value="false" />
<meta-data
    android:name="firebase_analytics_collection_enabled"
    android:value="false" />
  • 国内手机在app杀掉之后不会收到通知,可以使用模拟器
  • 接入方如何通过sdk打点记录透传消息数据
   /**
     * 统计业务方处理透传消息展示
     */
    public void onPassThroughMessageShowFromBusiness(MoMessage message, boolean shown) 

    /**
     * 统计业务方处理透传消息的点击
     */
    public void onPassThroughMessageClickFromBusiness(MoMessage message)
Copyright © momo 2019 all right reserved,powered by Gitbook修订时间: 2023-07-13 12:14:07

results matching ""

    No results matching ""