1

このアプリはGoogle Cloud Messagingを使用し、APIキーを含むGoogle API認証情報を含むgoogle-services.jsonファイルを含んでいます。 GCMは期待どおりに機能します。google-services.jsonのGoogle APIキーにプログラムでアクセスする方法

このアプリには、HTTPを使用してGCMメッセージを送信するテスト機能が含まれており、APIキーが必要です。 google-services.jsonに保存されているキーにアクセスするにはどうすればよいですか?私はメッセージを送信するためにGoogleCloudMessagingを使用したくない(私はOkHttpを使用していて、それはうまく機能する)。

うまくいけば、アプリでそれを複製する必要はありません。

答えて

5

申し訳ありませんが、少し遅れて、ここでゲームに...

google-services.jsonファイルが解析されますし、その値は、あなたがアクセスしていxmlに追加されます:あなたは、あなたのケースでは https://developers.google.com/android/guides/google-services-plugin

activity.getResources().getString(R.string.google_api_key);

0

GoogleCloudプラットフォームのAPIキーを取得してから資格情報に移動し、そこからAPIキーを取得できます。 https://console.developers.google.com/

これはあなたの探しているものですか?

もしあなたがそれにアクセスする必要があれば(それはjsonファイル自体を変更しない限り変わらないはずです)次に、jsonファイルをパーサで解析することができます。しかし、それは必要以上に多くの作業を追加します。私はちょうどそれをコピーしてウェブから貼り付けます。このようなプロジェクトのどこにでも

if (registrationToken != nil) { 
     self.registrationToken = registrationToken 
     print("Registration Token: \(registrationToken)") 
     //store the registation token for use in the postData function in the login page 
     self.loginInformation.setObject(self.registrationToken, forKey: "GCMToken") 
     let userInfo = ["registrationToken": registrationToken] 

をして、それを取得します:次に

myNoteGCMID = loginInformation.objectForKey("GCMToken") as! String 

は、[OK]を、私はあなたがこれを使ってみてのために行くとNSDefualts ストアにこのようなトークンを使用したものを見ます変更した場合は、変更する必要はありませんが、ただ1つの場所に変更する必要があります。変更はあなたがそれを呼び出すどこにでも発生します。

+0

私はキーを持っていますが、それは問題ではありません。すでにプロジェクトに保存されていますが、自分のコードにもキーが必要です。その結果、キーは2か所に格納されます。変更が必要な場合は2つに更新することを忘れてはなりません場所。 –

+0

あなたの更新された回答はプッシュメッセージ登録IDを参照しているようですが、私がアクセスしたいのはAPIキーですか? –

+0

GCMのapiのようなものなら、あなたのコードはjsonファイルから取得する必要があり、ハードコードする必要はありません。私は周りを見回し、唯一の方法は、Googleコンソールからそれを取得してコードに配置するか、Googleサービスファイルから取得することです。私はあなた自身の唯一のjsonファイルをそれを解析することができると思います。だからちょうどそれを指して、どこに格納され、ファイルからそれを解析するメソッドを持っている – MNM

関連する問題