Firebase を使用して Android アプリに App Invite システムを実装しようとしています。コードは、ガイドに記載されているものとまったく同じです。
private void onInviteClicked() {
Intent intent = new AppInviteInvitation.IntentBuilder("Title here")
.setMessage("message here")
.setDeepLink(Uri.parse("deep_link_here")
.setCallToActionText("Install!"))
.build();
startActivityForResult(intent, REQUEST_INVITE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG, "onActivityResult: requestCode=" + requestCode + ", resultCode=" + resultCode);
if (requestCode == REQUEST_INVITE) {
if (resultCode == RESULT_OK) {
// Get the invitation IDs of all sent messages
String[] ids = AppInviteInvitation.getInvitationIds(resultCode, data);
for (String id : ids) {
Log.d(TAG, "onActivityResult: sent invitation " + id);
}
} else {
// Sending failed or it was canceled, show failure message to the user
// ...
Toast.makeText(getContext(), "Invite not sent!", Toast.LENGTH_SHORT).show();
}
}
}
私の問題は次のとおりです。
- 連絡先の中からメールを選択すると、招待メールが送信されます。ただし、それでも
resultCode
0 を返し、ids
null です。 - 表示された連絡先のリストから電話番号を選択すると、フラグメント/アクティビティ フォースが終了し、再び
resultCode
0 になります。