Android Gcm registrationID conflicts with a third-party library like Parse

I have a simple project that uses my gcm provider, and I also want to implement a parsing library to send push to all users. But I have a problem in this situation. When I register gcm with my GCMSenderID, I get the registrationID, and then Parse registers gcm with its default GCMSenderID (1076345567071). Then I realized that the regID that I received from my gcm provider wrote the syntax parsing table as deviceToken. For this reason, I think I cannot send a push message to all parsed devices. I use quick launch disassembly, also doing some research from parse.com/docs/push_guide#top/Android. How to resolve this conflict?

Here is my implementation:

AndroidManifest.xml       

    <service android:name="com.parse.PushService" />

    <meta-data
        android:name="com.parse.push.notification_icon"
        android:resource="@drawable/icon" />
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <receiver
        android:name=".gcm.GcmBroadcastReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="xxx.android" />
        </intent-filter>
    </receiver>


    <receiver android:name="com.parse.ParseBroadcastReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.USER_PRESENT" />
        </intent-filter>
    </receiver>
    <receiver
        android:name="com.parse.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="xxxx.android" />
        </intent-filter>
    </receiver>
    <receiver
        android:name=".gcm.ParseReceiver"
        android:exported="false">
        <intent-filter>
            <action android:name="com.parse.push.intent.RECEIVE" />
            <action android:name="com.parse.push.intent.DELETE" />
            <action android:name="com.parse.push.intent.OPEN" />
        </intent-filter>
    </receiver>

Application.java

    Parse.setLogLevel(Parse.LOG_LEVEL_VERBOSE);
    Parse.initialize(this, ParseAPPLICATION_ID, ParseCLIENT_KEY);                    
    ParseInstallation.getCurrentInstallation().saveInBackground();

Parse GCM: , SDK (1076345567071) deviceToken ParseInstallation. ( parse.com/docs/push_guide#top/Android). , 2 GCM , : , regToken Parse vs, regToken GCM-/? ?

+4
1

, :

GoogleCloudMessaging.getInstance(this).register(YOUR_GCMSENDERID,  PARSE_DEFAULT_GCM_SENDERID);

PARSE_DEFAULT_GCM_SENDERID = 1076345567071

+5

All Articles