注意
该文是讲述APP分享出来一个可点击链接给微信好友,然后好友点击之后可以直接进入微信小游戏。这样好友想在APP上玩也行,想在小游戏上玩也行,岂不是很开心。
此功能必须满足以下几个条件:
1、必须有线上的APP。
2、必须有和APP相同内容的微信小游戏。
3、APP和小游戏的服务器数据必须互通或共用一个服务器。
提示
第一部分是 js客户端 分享代码,第二部分是 SDKInterfaces接口代码。
一、js客户端
share_wechatgame:function()
{
// 小游戏的原始ID(如果你不知道怎么查看原始ID,可以网上参考教程)
var userName = gc_xxxxxxxxx
// url是分享者的信息,可以按需调整
var path = '?' + 'user_id=10000058&table_id=100001'
// 描述信息
var title = "通过APP分享进入小游戏"
var desc = "赶快参与进来吧"
jsb.reflection.callStaticMethod(
packageName + "/SDKInterfaces", // 包名 + SDKInterfaces文件
"share_wechatgame", // 调用SDKInterfaces中的share_wechatgame函数
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", //share_wechatgame函数的参数类型
userName,
path,
title,
desc
)
},
二、SDKInterfaces接口
记得导入所需类名
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import java.io.File;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
import com.tencent.mm.opensdk.modelmsg.WXMiniProgramObject;
public static IWXAPI mIWXAPI;
public static void share_wechatgame(String userName,String path,String title,String desc)
{
try
{
WXMiniProgramObject miniProgramObj = new WXMiniProgramObject();
// 兼容低版本的网页链接
miniProgramObj.webpageUrl = "http://www.qq.com";
// 进入小游戏版本,正式版:0,测试版:1,体验版:2
miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPTOGRAM_TYPE_RELEASE;
// 小程序原始id
miniProgramObj.userName = userName;
// 小程序页面路径;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"
miniProgramObj.path = path;
WXMediaMessage msg = new WXMediaMessage(miniProgramObj);
// 小程序描述
msg.title = title;
msg.description = desc;
Bitmap bmp = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.send_img);
Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, 150, 150, true);
bmp.recycle();
// 小程序消息封面图片,小于128k
msg.thumbData = Util.bmpToByteArray(thumbBmp, true);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("miniProgram");
req.message = msg;
// 目前只支持会话
req.scene = SendMessageToWX.Req.WXSceneSession;
mIWXAPI.sendReq(req);
}
catch(Exception e)
{
e.printStackTrace();
}
}
好了,上述内容处理好之后,我们就可以在APP中,将链接分享给微信好友,然后好友就可以直接进入小游戏进行娱乐,两者的数据是互通的,这体验是不是很好呀。感谢阅读,希望对你有所帮助。