我正在開發一個使用GCM服務的小應用程序。GCM帳戶到期
之前,我試圖發送到我自己的消息,但(服務器端)的回答都是:
「成功」:0, 「失敗」:1, 「canonical_ids」:0, 「結果」:[{ 「錯誤」: 「NotRegistered」}]}
但在我的應用程序的beggining我檢查:
final String regId = GCMRegistrar.getRegistrationId(this); if (regId.equals(""))
{
// Register
GCMRegistrar.register(this, SENDER_ID);
}
else ...
似乎顯而易見,getRegistrationId()只罰款本地,(SharedPreferences?) ..
好的是,我從來沒有做過註銷我的應用程序,只是重新安裝它,不改變版本號(因爲它在測試,仍然),所以在這種情況下,我的帳戶已過期,在這種情況下谷歌不應該發送給我另一個ID,我可以在這裏看到:
@Override
protected void onRegistered
???
但是,有一種安全的方法來了解我的應用程序是否已註冊GCM服務器端?
謝謝!
編輯:
我想這:
當我重新安裝Eclipse的通過我的應用程序,也未安裝我的應用程序了一下,如果GCM服務器在給我發郵件那一刻沒有接收器,所以google不驗證我的ID。 在你看來,這是一個想法,一個愚蠢的想法?
感謝您的回答,在該示例應用程序中,在sharedPreferences中保存REGID並在開始時檢查以前是否保存過regid。我認爲getRegistratiodId()做同樣的事情,但如果用戶收到了該功能的東西,他不能確定是真正註冊GCM SERVER SIDE。 – Edge7