如何知道玩家是否在社交应用上分享了我的 link?
How to know if the player shared my link on a social app?
我正在使用 Unity3d 和 C# scripts/code。我刚开始使用 Yasirkula 的原生共享插件。
这是我的部分代码:
NativeShare().SetSubject( "Check out this game!" ).SetText( "Link to my app here" ).Share();
当我到达这一行时,用户会看到一个共享菜单,他可以选择任何他想要的共享应用程序。如何确保用户实际上在 Whatsapp、FaceBook、Twitter 上分享了 link 而不是使用他的剪贴板或任何其他应用程序?我只想奖励用户真正的社交分享。
为什么不看看 Facebook Unity API?
有一个方法叫做FB.FeedShare
https://developers.facebook.com/docs/unity/reference/current/FB.FeedShare
FB.FeedShare(
link: new Uri("Link"),
linkName: "Oh la la",
callback: Callback
);
还有一个叫FB.ShareLink
https://developers.facebook.com/docs/unity/reference/current/FB.ShareLink
FB.ShareLink(
new Uri("Link"),
callback: Callback
);
查看这两个的回调参数,IShareResult
,它有一个 bool Cancelled
和一个 string PostId
所以你可以这样做
void Callback(IShareResult result)
{
if (result.Cancelled || result.PostId == null)
{
Debug.Log("No reward for you");
}
}
我说可能,因为我自己没有测试过。
很多营销电子邮件都使用这种技术来跟踪电子邮件状态:
最初的想法是在 URL 中放置一个参数,当此 URL 用于访问您的应用程序时,它将被共享和跟踪。
该参数可以是包含有用信息的加密随机数。当您收到带有 URL 的请求时,您会解密随机数并使用此数据来识别共享 link.
的用户
Here 您可以研究如何将此模式应用于跟踪电子邮件状态(打开、已读等...)
Native Share 有一种方法可以选择您要与之共享的应用程序,但它仅限 Android:
// Share on WhatsApp only, if installed (Android only)
if( NativeShare.TargetExists( "com.whatsapp" ) )
new NativeShare().AddFile( filePath ).SetText( "Hello world!" ).SetTarget( "com.whatsapp" ).Share();
有了这个,您可以为每个您希望允许用户共享的应用制作一个按钮,防止与非社交应用共享。我认为这是最接近你想要的东西了。
不幸的是,我不知道 iOS 和 cancel/back 按钮是否有任何解决方法。
一个开箱即用的想法:
转
NativeShare().SetSubject( "Check out this game!" ).SetText( "Link to my app here" ).Share();
进入
NativeShare().SetSubject( "Check out this game!" ).SetText( "Link to my app here #trackablehashtag" ).Share();
然后您可以通过搜索您的主题标签来爬取社交网络,或使用内置的社交媒体营销工具来跟踪趋势。虽然这可能不是您问题的完整解决方案,但它可能有一些额外的好处,完整的解决方案可能无法自行创建。
我正在使用 Unity3d 和 C# scripts/code。我刚开始使用 Yasirkula 的原生共享插件。
这是我的部分代码:
NativeShare().SetSubject( "Check out this game!" ).SetText( "Link to my app here" ).Share();
当我到达这一行时,用户会看到一个共享菜单,他可以选择任何他想要的共享应用程序。如何确保用户实际上在 Whatsapp、FaceBook、Twitter 上分享了 link 而不是使用他的剪贴板或任何其他应用程序?我只想奖励用户真正的社交分享。
为什么不看看 Facebook Unity API?
有一个方法叫做FB.FeedShare
https://developers.facebook.com/docs/unity/reference/current/FB.FeedShare
FB.FeedShare(
link: new Uri("Link"),
linkName: "Oh la la",
callback: Callback
);
还有一个叫FB.ShareLink
https://developers.facebook.com/docs/unity/reference/current/FB.ShareLink
FB.ShareLink(
new Uri("Link"),
callback: Callback
);
查看这两个的回调参数,IShareResult
,它有一个 bool Cancelled
和一个 string PostId
所以你可以这样做
void Callback(IShareResult result)
{
if (result.Cancelled || result.PostId == null)
{
Debug.Log("No reward for you");
}
}
我说可能,因为我自己没有测试过。
很多营销电子邮件都使用这种技术来跟踪电子邮件状态:
最初的想法是在 URL 中放置一个参数,当此 URL 用于访问您的应用程序时,它将被共享和跟踪。
该参数可以是包含有用信息的加密随机数。当您收到带有 URL 的请求时,您会解密随机数并使用此数据来识别共享 link.
的用户Here 您可以研究如何将此模式应用于跟踪电子邮件状态(打开、已读等...)
Native Share 有一种方法可以选择您要与之共享的应用程序,但它仅限 Android:
// Share on WhatsApp only, if installed (Android only)
if( NativeShare.TargetExists( "com.whatsapp" ) )
new NativeShare().AddFile( filePath ).SetText( "Hello world!" ).SetTarget( "com.whatsapp" ).Share();
有了这个,您可以为每个您希望允许用户共享的应用制作一个按钮,防止与非社交应用共享。我认为这是最接近你想要的东西了。
不幸的是,我不知道 iOS 和 cancel/back 按钮是否有任何解决方法。
一个开箱即用的想法:
转
NativeShare().SetSubject( "Check out this game!" ).SetText( "Link to my app here" ).Share();
进入
NativeShare().SetSubject( "Check out this game!" ).SetText( "Link to my app here #trackablehashtag" ).Share();
然后您可以通过搜索您的主题标签来爬取社交网络,或使用内置的社交媒体营销工具来跟踪趋势。虽然这可能不是您问题的完整解决方案,但它可能有一些额外的好处,完整的解决方案可能无法自行创建。