iOSChannel - woodelf-treetop/rcwiki GitHub Wiki

iOS渠道登录

iOS渠道登录采用插件式接入的形式集成于Unity的工程中
由于iOS平台的内购统一走苹果自己的内购,所以各渠道只需接入登录功能
目前接入了龙渊SDK及AppleId两种登录方式

1. C#层登录逻辑

C#层脚本位于Unity工程中的LYSDK文件夹,脚本如下:
IOSMain.cs
IAppleChannel.cs
AppleChannel.cs
LYChannel.cs

1.IOSMain.cs

继承于MonoBehaviour,挂载于主场景中的IOSMain游戏物体上,实现其生命周期
mCurrentChannel是一个实现了IAppleChannel接口的对象,初始化的时候会根据当前游戏的平台ChannelPlatformId来实例化对应平台的实例

IAppleChannel接口实现了一些调用SDK API的方法,如初始化SDK、登录SDK、退出SDK以及设置SDKToken
具体的实现则根据当前SDK继承IAppleChannel去实现,如AppleChannel对应AppleId登录,LYChannel对应龙渊SDK登录

IOSMain提供了一些委托,委托的实现逻辑均是在Lua层,根据不同的渠道绑定委托即可

2. Lua层逻辑

Lua层中的IOSManager.lua文件提供了调用C#中IOSMain渠道登录相关的接口以及绑定IOSMain中的回调委托
可根据ChannelPlatformId的不同判断当前渠道,并根据需要绑定SDK的委托方法

IOSManagert提供了Lua层中游戏与SDK的接口,SDK的调用均使用IOSManager
IOSManager提供了初始化、登录、退出和SetToken的接口与C#层进行交互

⚠️ **GitHub.com Fallback** ⚠️