멀티푸시 연동 가이드
라이브옵스 타겟푸시 서비스는 다른 푸시 서비스와 함께 이용할 수 있는 멀티 푸시 기능을 제공하고 있습니다.
아래 가이드를 참고하여 멀티 푸시 기능을 구현할 수 있습니다.
멀티 푸시를 진행하기 전에 타겟푸시 연동이 완료 되어 있어야 합니다.
AndroidManifest.xml 설정
푸시 리시버 등록 순서 변경
타겟푸시 서비스를 이용하여 멀티 푸시를 구현하고자 할 경우에는 타겟푸시 리시버를 타 업체의 리시버보다 먼저 등록해야 합니다.
아래 샘플을 참고하여 푸시 리시버를 추가 및 수정합니다.
<!-- 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를 등록하는 방법과, 타겟푸시 Sender ID를 타 업체에 등록하는 방법이 있습니다.
타겟푸시에 타 업체 Sender ID를 등록할 경우
라이브옵스 라이브러리를 초기화 할 때에, 다른 푸시 서비스의 Sender ID를 함께 등록합니다.
복수개의 Sender ID를 등록하고자 할 때에는 콤마(,)로 구분하여 다음 예시와 같이 입력합니다.
- 안드로이드
IgawLiveOps.initialize(MainActivity.this, "000000000,111111111");
- 유니티
IgaworksUnityPluginAOS.LiveOps.initialize("000000000,111111111");
Registration ID 받기
타겟푸시에 타 업체 Sender ID를 등록하여 진행할 경우, Registration ID를 받아오는 기능을 제공합니다.
- 안드로이드
IgawLiveOps.setRegistrationIdEventListener(new RegistrationIdEventListener() {
@Override
public void onReceiveRegistrationId(String regId) {
Log.d("DEBUG", "onReceiveRegistrationId :: " + regId);
}
});
- 유니티
void Start(){
IgaworksUnityPluginAOS.LiveOps.setRegistrationIdEventListener();
IgaworksUnityPluginAOS.OnReceiveRegistrationId = mOnReceiveRegistrationId;
}
void mOnReceiveRegistrationId(string regId){
Debug.Log("ReceiveRegistrationId :::: Registration ID" + regId);
}
타 업체의 시스템에 타겟푸시 Sender ID를 등록할 경우
아래의 타겟푸시 Sender ID를 타 업체에 등록하여 진행합니다.
910677924034
동작
라이브옵스 멀티푸시는 다음과 같이 동작합니다.
- IGAWorks 멀티푸시를 수신한 경우 :
라이브옵스 SDK 에서 푸시를 수신 및 처리한 다음 타 업체의 리시버로 전달하지 않음. - 타 업체의 푸시를 수신한 경우 :
라이브옵스 SDK 에서 푸시를 수신하여 미리 설정된 타 업체의 Sender ID와 함께 AndroidManifest.xml의 다음 순번의 푸시 리시버로 전달함.
유의사항
- 멀티푸시 기능은 안드로이드 플랫폼만을 지원합니다.
- 멀티푸시 기능은 IgawLiveOps_v1.1.4 이상에서 지원합니다.
- 타 업체의 리시버를 먼저 등록하였을 경우에 멀티 푸시 기능이 동작하지 않을 수 있습니다.
- 멀티푸시 기능을 이용하여 전달한 푸시에 대한 타 업체의 처리와 동작에 대해서는 관여하지 않습니다.