簡體   English   中英

Android GCM SENDER_ID與API_KEY的用法

[英]Android GCM SENDER_ID vs API_KEY usage

我正在將GCM集成到我的應用程序中。 2年前我進行了一次研發,用戶可以像這樣發送有關主要活動的詳細信息

GCMRegistrar.checkDevice(this);
        GCMRegistrar.checkManifest(this);
        String regId = GCMRegistrar.getRegistrationId(this);
        if (regId.equals("")) {
          GCMRegistrar.register(this, SENDER_ID);   
        } else {
          Log.v(TAG, "Already registered");
        }

在這里,我們可以發送SENDER_ID,這是api密鑰(如果我沒有記錯的話,例如AIxxxxxxxxxxxxxp-xxxxx_xxxx_2xxxxxx2_De)。

但是我們如何使用示例應用程序發送它。 生成的SENDER_Id與API_KEY和SERVER_API_KEY之間有什么區別。 如何實施? 我已經通過此鏈接https://developers.google.com/cloud-messaging/registration了 但是感到困惑。 有人能幫我這些嗎

  1. SENDER_ID,API_KEY和SERVER_API_KEY。 那些是什么? 他們何時何地使用?
  2. 在調試模式下使用google-service.json文件? 已經通過鏈接google-services.json真正做什么?
  3. 我們需要手動填充json中的條目,還是由android api填充? 輸入為“ oauth_client”:[],“ api_key”:[],
  4. 在下面的行中摘自RegistrationIntentService.java。 R.string.gcm_sender_id基本上是SENDER_ID或API_KEY字符串令牌= instanceID.getToken(getString(R.string.gcm_sender_id),GoogleCloudMessaging.INSTANCE_ID_SCOPE,null);

也有任何基於最新GCM集成實現的教程(除了developer.android提供的示例)

幫助將不勝感激。

  1. SENDER_ID是13位數字(當前)的數字字符串,它是您在Google Developer控制台中創建的Google項目的項目號,在客戶端用於注冊應用程序並獲取device tokenregistration_id ),然后在以下情況下用作接收者您將通知發送到gcm終端服務器。

    API_KEYSERVER_API_KEY是相同的東西,它們是以AIza開頭的40個字符的字符串,它們用作身份驗證,因此GCM服務器知道誰在發送通知,並且此人是否有權將通知發送給那些registration_id (最初發送給SENDER_ID ,因為這是registration_id來源)。

2&4。 在調試模式下,文件的使用是傳遞SENDER_ID ,這是問題4中R.string.gcm_sender_id來源。

  1. 我不太明白這個問題,服務器端使用了API_KEY ,Android客戶端不需要處理它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM