アプリが招待状の送信に失敗し始めました。招待画面がポップアップし、送信者が送信を押して選択した連絡先にメールを送信すると、エラーが表示されます
メッセージを送信できませんでした
接続を確認したり、他の Google アカウントを使用したり、招待状のみを送信する小さなアプリを作成したりして、思い出せる限りのことを試しています。エラーについての手がかりを与えることができる唯一のものは、次のログエントリです。
05-05 19:56:41.191 1409-1409/? D/SurfaceFlinger: レイヤー名の重複: com.google.android.gms/com.google.android.gms.appinvite.AppInviteActivity を com.google.android.gms/com.google.android.gms.appinvite.AppInviteActivity#3 に変更
...
05-05 19:56:41.411 3254-4228/? E/Volley: [216] BasicNetwork.performRequest: https://www.googleapis.com/plusdatamixer/v1/mutateonekey?alt=proto&key=AIzaSyAP-gfH3qvi6vgHZbSYwQ_XHqV_mXHhzIkの予期しない応答コード 400
送信を押した後、約 10 のログ エントリが生成されますが、これらの 2 つだけが関連しているようです。
どこかで失敗した場合に備えて、ドキュメントからコピーしたテストアプリの完全なコードを次に示します。
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_INVITE = 1002;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private void onInviteClicked() {
Intent intent = new AppInviteInvitation.IntentBuilder(getString(R.string.invitation_title))
.setMessage(getString(R.string.invitation_message))
.setDeepLink(Uri.parse(getString(R.string.invitation_deep_link)))
// .setCustomImage(Uri.parse(getString(R.string.invitation_custom_image)))
.setCallToActionText(getString(R.string.invitation_cta))
.build();
startActivityForResult(intent, REQUEST_INVITE);
}
public void click(View view) {
onInviteClicked();
}
}
依存関係は、Android ビルダーによって自動的に追加されるものです。ここにgradleファイルのスナップショットがあります:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.firebase:firebase-invites:11.8.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
私はこれに数時間立ち往生していますが、まだ無知です。ポインターはありますか?
更新: アプリとテスト プロジェクトは、API 21 を実行する物理 Android で招待を正常に送信できます。API 21 を使用して Android シミュレーターでアプリを実行しても失敗するため、サービスが物理デバイスに制限されていることを示していますが、週、仮想デバイスでのテストに成功しました。また、サービスが制限されていることを裏付けるものは何もないので、何か間違ったことをしているに違いありません.
2018 年 5 月 6 日更新:
招待パッケージに更新したcom.google.firebase:firebase-invites:15.0.1
ところ、同じエラーが発生しましたが、前に次のものがありました。
W/GLSUser: [AppCertManager] IOException while requesting key:
java.io.IOException: Invalid device key response.
at gga.a(:com.google.android.gms@12529024@12.5.29 (040700-192802242):12)
at gga.a(:com.google.android.gms@12529024@12.5.29 (040700-192802242):64)
at gga.a(:com.google.android.gms@12529024@12.5.29 (040700-192802242):21)
at gfy.a(:com.google.android.gms@12529024@12.5.29 (040700-192802242):4)
at gfy.onTransact(:com.google.android.gms@12529024@12.5.29 (040700-192802242):4)
at android.os.Binder.transact(Binder.java:627)
at cwl.onTransact(:com.google.android.gms@12529024@12.5.29 (040700-192802242):3)
at android.os.Binder.execTransact(Binder.java:697)
W/GLSUser: [DeviceKeyStore] Cannot load key: Device key file not found.
E/Volley: [220] BasicNetwork.performRequest: Unexpected response code 400 for https://www.googleapis.com/plusdatamixer/v1/mutateonekey?alt=proto&key=AIzaSyAP-gfH3qvi6vgHZbSYwQ_XHqV_mXHhzIk