Taptap登录

  • Creator 版本: cocos接taptap登录,底层依赖都下载好了 ,拉起taptap登录,看了官方demo把官方demo的SDK文件直接拉过来,调取登录,怎么都不成功!

  • 目标平台:

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

哪位大佬指教一下

之前是调不到taptaplogin 我定义单例类 调到了发现没有初始化,报错,后来单例类去初始化,初始化直接就失败了,withAppContext(getApplicationContext())到这就报错了

可以看到log么?根据log提示 按部就班才能解决问题。

调不到那些方法,单例类倒是可以调到 TDSUser 没值了

你定义这个Maincity 有点奇怪啊,也没见给他赋值。空指针了。
在onCreate的时候赋值看看 Maincity = this。
感觉有点乱,如果是多个渠道接入简直是要命。


给他赋值了,也调不到,调取问题不大,关键是,初始化会出问题,是因为我没有对应的LeeJiEunID吗

说明报错你MainActivity还没初始化 还没经过onCreate 。你在“走到了” 那里 打印一下Maincity == null 是不是空就知道了。或者log根本就没有“初始化“ 这个打印。
MainActivity 不是你的游戏Activity吧 不是的话要手动启动才行。

我也想过直接调oncreator但是需要传参,参数不知道怎么传

Activity 是个组件需要启动才行的,启动后才走生命流程。如果是主Activity则自动启动。
在manifest.xml 配置中有 决定谁是主Activity。cocos的主Activity 继承了Cocos2dxActivity。你自己定义这个Activity应该没有启动,因此报错了。

你的游戏 Activity 是 AppActivity ,MainActivity 应该是还没启动吧

T%J4HQPR9}1%4AW6IK0RZL
是啊,但是就因为没有启动,oncreate没有调用,maincity是空,所以调不到任何方法,静态方法中,this指向不明确,所以也没办法在toLogin中使用maincity=this,也很无奈

是啊,怎么启动大佬可以指点一下吗

写了一套你参考一下 应该可以
1、渠道基类 相当于桥梁的作用
ChannelBase
private Activity mActivity;
public initChannel(Activity act){
mActivity = act
}
Activity 生命周期
onCreate

onStop
渠道的方法
login
pay
logout

2、具体渠道例如TapTap
TapTapMonster extends ChannelBase

private TapTapMonster mTapTapMonster
public static getInstance(){
if(mTapTapMonster == null){
mTapTapMonster = new mTapTapMonster();
}
return mTapTapMonster;
}
重载 接入SDK 的生命周期
onCreate(){
SDK.onCreate();
}

重载渠道的方法
login(){
SDK.login();
}
pay
logout

3、主Activity ,游戏的主Activity,【也就是你截图的AppActivity】
AppActivity extends Cocos2dxActivity

onCreate(){
TapTapMonster.getInstance().initChannel(MainActivity.this);//初始化
TapTapMonster.getInstance().onCreate();
}
–生命周期都调用下 TapTapMonster.getInstance() 对应的周期函数
其他地方需要调用登录直接,其他方法也一样
TapTapMonster.getInstance().login()

有哪位成功接入登录了,指点一下

自己顶一下

简单试用,那就把Tap的代码放在AppActivity的onCreate中调用

定义单例类可以调用,想要登录先要初始化SDK,但是初始化sdk报错

不知道是什么原因

1633932379(1) 问题看到了,这个方法返回值为空,可怎么解决,网上没答案

这个是安卓基础,你这个要在AppAcitvity里调用