로딩중입니다
[AOS] Multi Push 指南
8/19/2015 2:21:56 PM

Multi Push 集成指南

LiveOps 定向推送服务提供可以与其他推送服务一起使用的 Multi Push 功能。

请参考以下集成指南设置 Multi Push 功能。


设置 Multi Push 功能前,需完成定向推送集成。



AndroidManifest.xml 设置


变更 Push Receiver 登录顺序

使用定向推送实现 Multi Push 的情况时,需首先登录LiveOps Push Receiver,再登录其他公司的 Receiver。

请参考以下示例进行添加和修改。

<!-- Igaworks -->
<receiver android:name="com.igaworks.liveops.pushservice.LiveOpsGCMBroadcastReceiver"
    android:permission="com.google.android.c2dm.permission.SEND">
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
        <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
        <category android:name="com.YOUR_PACKAGE_NAME.HERE"/>
    </intent-filter>
</receiver>
<service android:enabled="true"
android:name="com.igaworks.liveops.pushservice.GCMIntentService"/>

<!-- your IGAWORKS KEYS here -->
<meta-data android:name="igaworks_app_key" android:value="igaworks_app_key"/>
<meta-data android:name="igaworks_hash_key" android:value="igaworks_hash_key"/>

<!-- Push Company 1 -->
<receiver android:name="push.company1.android.sample.Test1_GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
    <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
    <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
    <category android:name=" com.YOUR_PACKAGE_NAME.HERE "/>
</intent-filter>
</receiver>

<!-- Push Company 2 -->
<receiver android:name="push.company2.android.sample.Test2_GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
    <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
    <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
    <category android:name=" com.YOUR_PACKAGE_NAME.HERE "/>
</intent-filter>
</receiver>



Sender ID 登录

为了接受推送信息需登录 Sender ID。以下提供 Sender ID 的登录方法,1. 在定向推送登录其他公司 Sender ID 的方法,2. 将定向推送 Sender ID 登录到其他公司的方法。


在 LiveOps 定向推送中登录其他公司的 Sender ID

初始化 LiveOps Library 时,需同时登录其他推送服务的 Sender ID。

登录多个 Sender ID 时,请用 (,) 进行区分,请参考以下示例进行。

  • Android 

IgawLiveOps.initialize(MainActivity.this, "000000000,111111111");

  • Unity

IgaworksUnityPluginAOS.LiveOps.initialize("000000000,111111111");


获取 Registration ID

在定向推送中登录其他公司 Sender ID 时,提供获取 Registration ID 的功能。

  • Android
IgawLiveOps.setRegistrationIdEventListener(new RegistrationIdEventListener() {
            @Override
            public void onReceiveRegistrationId(String regId) {
                Log.d("DEBUG", "onReceiveRegistrationId :: " + regId);
            }
});
  • Unity
void Start(){
	IgaworksUnityPluginAOS.LiveOps.setRegistrationIdEventListener();
	IgaworksUnityPluginAOS.OnReceiveRegistrationId = mOnReceiveRegistrationId;
}

void mOnReceiveRegistrationId(string regId){
	Debug.Log("ReceiveRegistrationId :::: Registration ID" + regId);
}



在其他公司的系统上登录定向推送的 Sender ID

将以下定向推送 Sender ID 登录在其他公司的系统上。

910677924034



运作

Live Ops Multi Push 的运作情况如下;

  1. 接受 IGAWorks Multi Push :
    LiveOps SDK 接受推送信息并处理之后,不发给其他公司的 Receiver。

  2. 接受其他公司的推送 :
    LiveOps SDK 接受推送信息后,将已设定的其他公司 Sender ID 一起,传达给 AndroidManifest.xml 下一步的推送 Receiver。


注意事项

  1. Multi Push 功能只支持 Android 平台。
  2. Multi Push 功能需使用 IgawLiveOps_v1.1.4 以上的版本。
  3. 在先登录其他公司 Receiver 的情况下,可能无法运作 Multi Push 功能。
  4. IGAW 无法保障使用 Multi Push 功能向其他公司发送推送消息的情况。