微信小游戏分享闭环总结

版权声明:本文为博主原创文章,转载注明来源。 https://blog.csdn.net/u013654125/article/details/84235278

在小游戏开发中,会有这样的需求:

当你分享了小游戏后,点击分享入口的小伙伴能获取到一些信息,来展示自己分享的独特的信息。

这种功能在微信的接口中已经有集成,实现该功能的接口主要有两个:

一:shareAppMessage

二:getLaunchOptionsSync

在讲这两个接口前,我们看下图:

现在微信官网上的wx.getLaunchInfoSync,这个接口我没有用,现在项目用的是getLaunchOptionsSync来代替getLaunchInfoSync。

接着说这两个接口:

扫描二维码关注公众号,回复: 5435610 查看本文章

shareAppMessage

该接口有三个参数:

tittle:你分享的那个朋友或群的分享消息的标题;

imageUrl:你分享的那个朋友或群的图片;

query:自定义的信息,分享出去有人点击了分享消息进入游戏后,能获取到的信息。

现在重点说一下query:query可以在有人点击了分享消息进入游戏后,通过wx.getLaunchOptionsSync().query来获取得到,获取到之后用字符串接口解析key1=val1&key2=val2格式的数据就可以了。

最后,来一个shareAppMessage的实例:

// 分享功能, 在游戏中点击按钮打开通讯录分享出去
// query在外部被初始化为'uipath=BattleResultShare&shareType=1';
function shareAppMessage(title, imagePath, shareInfo, shareAppMsgCallback) {
    if (CC_WECHATGAME) {
        wx.shareAppMessage({
            getGroupMsgTicket: true,
            title: title === '' ? SHARE_TITLE_STRING : title,
            imageUrl: imagePath,
            query: shareInfo,
            success: data => {
                // shareAppMsgCallback为点击分享成功后的回调,在这里
                // 如果没有需求可以不用调用回调
                shareAppMsgCallback(data, shareInfo, '转发成功');
            },
            fail: data => {
                shareAppMsgCallback(data, shareInfo, '转发失败');
            }
        });
    } else {

    }
}

再来一个getLaunchOptionsSync的实例:

//该方法在游戏开始的时候调用
function checkOnLoad() {
	if (CC_WECHATGAME) {
	    let lanuchInfo = wx.getLaunchOptionsSync().query;
	    if (typeof (lanuchInfo) !== 'undefined' && Object.keys(lanuchInfo).length > 0) {
	        let uipath = lanuchInfo.uipath;
	        let shareType = lanuchInfo.shareType;
	        let obj = {
	            uipath: uipath,
	            shareType: shareType,
	        };
	        if (!isSlef) {
	        	// showToPanel为通过获取query自定义的数据后,展示的自定义的界面
	            showToPanel(obj);
	        }
	    }
	} else {
	    
	}
}

猜你喜欢

转载自blog.csdn.net/u013654125/article/details/84235278