在显示“通过 WhatsApp 共享”按钮之前,我想检查一下这种共享是否可行。

我将 SocialSharing-PhoneGap-Plugin 与纸一样薄的 ngCordova 包装器一起使用。

由于 canShareVia 的“via”参数是平台相关的,我使用以下结构来确定 via 参数:

var viaByKeyAndPlatform = {
    facebook: {
        ios: 'com.apple.social.facebook',
        android: 'com.facebook.katana'
    },
    whatsapp: {
        ios: '??? ', // not working: com.apple.social.whatsapp
        android: 'com.whatsapp'
    },
    twitter: {
        ios: 'com.apple.social.twitter',
        android: 'com.twitter.android'
    }
};

// ... determine `via` parameter from parameters above

$cordovaSocialSharing.canShareVia(
    via, 'message', 'subject', null, 'http://example.com')

这适用于 iOS 和 Android 上的所有这些社交网络 ,iOS 上的 WhatsApp 除外

我可以为此使用哪个参数?不幸的是,com.apple.social.whatsapp 不起作用。

最佳答案

刚刚在文档 中找到 ,该参数 whatsapp 应该可以工作,但对于 iOS9,whatsapp:// url 需要列入白名单。
所以我使用 whatsapp 作为 via 参数并将以下内容添加到 *-Info.plist 文件中,它就像一个魅力。顺便说一句,剪贴板提示也需要 *-Info.plist 中的条目。没有,提示不显示!

<key>LSApplicationQueriesSchemes</key>
<array>

  <!-- quite sure there are already other entries -->

  <string>whatsapp</string>
  <string>fb</string>
</array>

关于ios - SocialSharing-PhoneGap-Plugin canShareVia 检查WhatsApp是否可用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33106359/

10-14 20:54