【问题标题】:How to send app invites from my application (via whatsapp,hike,message)如何从我的应用程序发送应用程序邀请(通过whatsapp、hike、消息)
【发布时间】:2016-11-06 00:45:03
【问题描述】:

我是 Android 新手。我创建了一个简单的食物应用程序。我想在单击邀请按钮时通过 Whatsapp、消息等从我的应用程序向我的朋友发送邀请。我对此一无所知。谁能指导我(显示一些示例对我更有帮助)。

提前致谢!

【问题讨论】:

  • 你有什么解决办法吗??

标签: java android


【解决方案1】:

Refer this link

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

【讨论】:

【解决方案2】:
    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();
        }
    });

【讨论】:

    【解决方案3】:

    使用 Firebase 从 google 尝试本教程,也许这可以帮助您: https://codelabs.developers.google.com/codelabs/firebase-android/#10

    【讨论】:

      【解决方案4】:

      您可以使用以下代码生成短链接:

      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 进行分享。

      【讨论】:

        【解决方案5】:

        Firebase 邀请是一种开箱即用的解决方案,用于通过电子邮件或短信进行应用推荐和分享。

        1. Firebase console 将您的应用连接到您的 Firebase 项目
        2. 通过打开“动态链接”部分并在出现提示时接受服务条款,从 Firebase 控制台启用 Firebase 动态链接。
        3. Add Firebase to your Android project
        4. 将 Firebase 邀请的依赖项添加到您的应用级 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
                    // ...
                }
            }
        }
        

        在这里查看更多关于Send and Receive Firebase Invites from Your Android App的详细信息

        更新:

        使用Branch sdk 支持其他平台的邀请功能,如 WhatsApp、Facebook 和其他社交媒体应用程序。

        点击这里了解How branch link works?

        在这里结帐Install guide & code example

        【讨论】:

        • 这没有回答问题
        • 我们可以在不使用 Branch SDK 的情况下在 WhatsApp 和 Facebook 等其他平台上邀请吗???
        【解决方案6】:

        如果我正确理解了这个问题,您希望在用户单击分享时区分分享,并且如果他选择通过 WhatsApp 邀请,例如,它将仅显示 Whatsapp 作为分享邀请的媒介选项。

        如果这是你想要的,你应该在你将用于分享的意图中设置包,所以如果我们添加到上面的@Vishal答案

        sendIntent.setPackage("com.whatsapp");
        

        您应该为任何需要的社交媒体做同样的事情

        【讨论】:

          【解决方案7】:

          您需要添加 Firebase 动态链接。早些时候它是 Firebase Invites,但现在已贬值。 Firebase Dynamic Link 是基于 Firebase Invites 构建的,因此您可以看到邀请对 gradle 文件的依赖关系。

          您可以按照本教程获取有关“How to Create Refer a friend Link”的完整示例

          有两种方法可以创建“推荐朋友链接”

          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
          

          您可以查看完整的example here

          【讨论】:

            猜你喜欢
            • 2017-08-22
            • 2020-06-25
            • 2017-04-08
            • 2015-11-25
            • 1970-01-01
            • 2018-07-11
            • 1970-01-01
            • 2016-07-20
            • 1970-01-01
            相关资源
            最近更新 更多