SocialSharing-PhoneGap-Plugin canShareVia 检查WhatsApp是否可用

SocialSharing-PhoneGap-Plugin canShareVia check whether WhatsApp is available

在显示"share via WhatsApp"按钮之前,我想检查一下这种分享是否可行。

我正在使用 SocialSharing-PhoneGap-Plugin with the paper-thin 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>