android - tokens - migrate from google cloud message




com.google.android.c2dm.intent.REGISTRATION是否被棄用? (2)

簡短版本: com.google.android.c2dm.intent.REGISTRATION仍然使用,或者GCM完全否定了它?

更長的版本:Google的gcm-demo-client在其過濾器中聲明了這個意圖,但是,如果我遵循相同的過程,當我調用gcm.register()時,我會得到一個有效的註冊ID, 然後我的廣播接收器會收到一個額外的註冊ID由於註冊過濾器,這第二個註冊ID是假的(我不能發送任何通知)。

在這一點上,我正在考慮刪除REGISTRATION過濾器(並保持RECEIVE ),但我想確保我不會錯過協議中的重要事項。


您可能正在查看Google演示版本的較舊版本。 當前版本不使用com.google.android.c2dm.intent.REGISTRATION ,如下所示:

    <receiver
        android:name=".GcmBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <!-- Receives the actual messages. -->
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="com.google.android.gcm.demo.app" />
        </intent-filter>
    </receiver>

即使對於最新的GCM版本(又名GCM 3),官方的GCM文檔警告說需要在舊設備上進行推送支持

如果您要支持4.4之前的KitKat設備,請將以下操作添加到接收方的意圖過濾器聲明中: <action android:name="com.google.android.c2dm.intent.REGISTRATION" />