로딩중입니다
라이브오퍼레이션 : 안드로이드 멀티푸시
7/13/2015 2:34:07 PM

멀티푸시 연동 가이드

라이브옵스 타겟푸시 서비스는 다른 푸시 서비스와 함께 이용할 수 있는 멀티 푸시 기능을 제공하고 있습니다.

아래 가이드를 참고하여 멀티 푸시 기능을 구현할 수 있습니다.


멀티 푸시를 진행하기 전에 타겟푸시 연동이 완료 되어 있어야 합니다.



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



동작

라이브옵스 멀티푸시는 다음과 같이 동작합니다.

  1. IGAWorks 멀티푸시를 수신한 경우 :
    라이브옵스 SDK 에서 푸시를 수신 및 처리한 다음 타 업체의 리시버로 전달하지 않음.

  2. 타 업체의 푸시를 수신한 경우 :
    라이브옵스 SDK 에서 푸시를 수신하여 미리 설정된 타 업체의 Sender ID와 함께 AndroidManifest.xml의 다음 순번의 푸시 리시버로 전달함.


유의사항

  1. 멀티푸시 기능은 안드로이드 플랫폼만을 지원합니다.
  2. 멀티푸시 기능은 IgawLiveOps_v1.1.4 이상에서 지원합니다.
  3. 타 업체의 리시버를 먼저 등록하였을 경우에 멀티 푸시 기능이 동작하지 않을 수 있습니다.
  4. 멀티푸시 기능을 이용하여 전달한 푸시에 대한 타 업체의 처리와 동작에 대해서는 관여하지 않습니다.