簡體   English   中英

如何從我的應用程序發送應用程序邀請(通過 whatsapp、遠足、消息)

[英]How to send app invites from my application (via whatsapp,hike,message)

我是 Android 的新人。我創建了一個簡單的食物應用程序。 我想在單擊邀請按鈕時通過 Whatsapp、消息等從我的應用程序向我的朋友發送邀請。 我對此一無所知。 你能指導我嗎(展示一些例子對我更有幫助)。

提前致謝!

參考這個鏈接

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);
    private void onShareClicked() {

    String link = "https://play.google.com/store/apps/details?id=com.recharge2mePlay.recharge2me";

    Uri uri = Uri.parse(link);

    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_TEXT, link.toString());
    intent.putExtra(Intent.EXTRA_TITLE, "Recharge2me");

    startActivity(Intent.createChooser(intent, "Share Link"));
}

只需在 onClickListner 中調用此函數即可。

btn_tellAFreind.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onShareClicked();
        }
    });

使用 Firebase 從 google 嘗試本教程,也許這可以幫助您: https : //codelabs.developers.google.com/codelabs/firebase-android/#10

Firebase 邀請是一種開箱即用的解決方案,用於通過電子郵件或短信進行應用推薦和共享。

  1. Firebase 控制台將您的應用連接到您的 Firebase 項目
  2. 通過打開動態鏈接部分並在出現提示時接受服務條款,從 Firebase 控制台啟用 Firebase 動態鏈接。
  3. 將 Firebase 添加到您的 Android 項目
  4. 將 Firebase Invites 的依賴項添加到您的應用級 build.gradle 文件:

編譯 'com.google.firebase:firebase-invites:10.0.1'

發送邀請:

首先使用AppInviteInvitation.IntentBuilder類構建一個 Intent:

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);

啟動AppInviteInvitation意圖會打開聯系人選擇器,用戶可以在其中選擇要邀請的聯系人。 邀請通過電子郵件或短信發送 在用戶選擇聯系人並發送邀請后,您的應用會收到onActivityResult的回調:

@Override
protected 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
            // ...
        }
    }
}

在此處查看有關從您的 Android 應用發送和接收 Firebase 邀請的更多詳細信息

更新:

使用Branch sdk 支持另一個平台上的邀請功能,如 WhatsApp、Facebook 和其他社交媒體應用程序。

查看此處了解分支鏈接的工作原理?

在此處結帳以獲取安裝指南和代碼示例

您可以使用以下代碼生成短鏈接:

DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
                    .setLink(Uri.parse("https://play.google.com/store/apps/details?id=com.example"))
                    .setDynamicLinkDomain("abc.app.goo.gl")
                    .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
                    .buildDynamicLink();
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
                        .setLongLink(dynamicLink.getUri())
                        .buildShortDynamicLink()
                        .addOnCompleteListener(ReferrerActivity.this, new OnCompleteListener<ShortDynamicLink>() {
                            @Override
                            public void onComplete(@NonNull Task<ShortDynamicLink> task) {
                                if (task.isSuccessful()) {
                                    Uri shortLink = task.getResult().getShortLink();
                                    Uri flowchartLink = task.getResult().getPreviewLink();
                                    Log.i(TAG, "onComplete: SHORTLINK " + shortLink.toString());
                                    Log.i(TAG, "onComplete: FLOW LINK " + flowchartLink.toString());
                                } else {
                                    Log.i(TAG, "onComplete: ERROR " + task.isSuccessful() + " " + task.isComplete());
                                }
                            }
                        });

在 onComplete 方法中收到短鏈接后,使用 Intent 共享它。

如果我正確理解了這個問題,您希望在用戶單擊共享時區分共享,並且如果他選擇通過 WhatsApp 邀請,例如,它將僅顯示 Whatsapp 作為共享邀請的媒介選項。

如果這是你想要的,你應該在你將用於共享的意圖中設置包,所以如果我們添加到上面的@Vishal 答案

sendIntent.setPackage("com.whatsapp");

你應該對任何需要的社交媒體做同樣的事情

您需要添加 Firebase 動態鏈接。 早些時候它是 Firebase Invites,但現在已經貶值了。 Firebase Dymanic Link 是基於 Firebase Invites 構建的,因此您可以看到邀請對 gradle 文件的依賴關系。

您可以按照本教程獲取有關“ 如何創建推薦朋友鏈接”的完整示例

有兩種方法可以創建“推薦朋友鏈接”

  1. 使用 Firebase 基礎動態對象

  2. 手動創建引用鏈接

1) 選項:-

DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
        .setLink(Uri.parse("https://www.example.com/"))
        //.setDomainUriPrefix("https://example.page.link")  // no longer in user please
        .setDynamicLinkDomain("example.page.link")  // use this code and don't use https:// here
        // Open links with this app on Android
        .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
        // Open links with com.example.ios on iOS
        .setIosParameters(new DynamicLink.IosParameters.Builder("com.example.ios").build())
        .buildDynamicLink();
Uri dynamicLinkUri = dynamicLink.getUri();

2) 選項:-

String sharelinktext  = "https://referearnpro.page.link/?"+
              "link=https://www.blueappsoftware.com/"+
              "&apn="+ getPackageName()+
              "&st="+"My Refer Link"+
              "&sd="+"Reward Coins 20"+
              "&si="+"https://www.blueappsoftware.com/logo-1.png";

然后調用ShortDynamicLink對象

參考鏈接將如下所示:

https://referearnpro.page.link?apn=blueappsoftware.referearnpro&link=https%3A%2F%2Fwww.blueappsoftware.com%2F

您可以在此處查看完整示例

發送邀請的自定義方法,也是根據 Android 開發人員中的最佳實踐

fun inviteToDownloadApp(context: Context) {
    val intent = Intent(Intent.ACTION_SEND)
    intent.type = "text/plain"
    intent.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.app_name))
    intent.putExtra(Intent.EXTRA_TEXT, context.getString(R.string.invite_to_download_app))
    context.startActivity(Intent.createChooser(intent, context.getString(R.string.invite_to_download_app)))
}

暫無
暫無

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

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