帮助文档

1 添加SDK提供的资源文件

单机\sdk\u3d”中的文件CopyAssets\Plugins\Android\

1) 将游戏AndroidManifest.xml文件的application中添加由易接提供如下代码,可参考单机\sdk\ AndroidManifest.xml "

<activity

android:name="com.snowfish.cn.ganga.offline.helper.SFGameSplashActivity"

android:theme="@android:style/Theme.Translucent"

android:screenOrientation="sensor"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

<activity

android:name="com.snowfish.a.a.s.PA"

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges="keyboardHidden|orientation"

android:windowSoftInputMode="stateHidden">

</activity>

<service

android:name="com.snowfish.a.a.s.ABGSvc"

android:enabled="true">

<intent-filter>

<action android:name="com.snowfish.a.a.s.ABGSvc"/>

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter>

</service>

<meta-data

android:name="com.snowfish.appid"

android:value="KEY">

</meta-data>

<meta-data

android:name="com.snowfish.customer"

android:value="SNOWFISH">

</meta-data>

<meta-data

android:name="com.snowfish.channel"

android:value="SNOWFISH">

</meta-data>

<meta-data

android:name="com.snowfish.sdk.version"

android:value="1">

</meta-data>
<activity

android:name="com.snowfish.cn.ganga.offline.helper.SFGameSplashActivity"

android:theme="@android:style/Theme.Translucent"

android:screenOrientation="sensor"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

<activity

android:name="com.snowfish.a.a.s.PA"

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges="keyboardHidden|orientation"

android:windowSoftInputMode="stateHidden">

</activity>

<service

android:name="com.snowfish.a.a.s.ABGSvc"

android:enabled="true">

<intent-filter>

<action android:name="com.snowfish.a.a.s.ABGSvc"/>

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter>

</service>

<meta-data

android:name="com.snowfish.appid"

android:value="KEY">

</meta-data>

<meta-data

android:name="com.snowfish.customer"

android:value="SNOWFISH">

</meta-data>

<meta-data

android:name="com.snowfish.channel"

android:value="SNOWFISH">

</meta-data>

<meta-data

android:name="com.snowfish.sdk.version"

android:value="1">

</meta-data>

标红处的KEY值需要替换成易接CP后台分配的APPID,格式如下:{12345678-12345678}。

此外,以下activityUnity3d提供,作为入口activity,请参考demo

具体使用请根据游戏实际情况;

com.unity3d.player.UnityPlayerProxyActivity

com.unity3d.player.UnityPlayerActivity

com.unity3d.player.UnityPlayerNativeActivity

2) 修改启动Activity,在AndroidManifest.xml中的主入口Activity配置为com.snowfish.cn.ganga.offline.helper.SFGameSplashActivity

游戏原来的主入口Activity请添加到res/values/strings.xml中的sf_class_name字符串中,使得启动完成后即启动游戏

例如:

<string name="sf_class_name">com.yijie.cn.sdk.demo.MainActivity</string>

 

3) 添加SDK需要的use-permision将游戏的AndroidManifest.xml中添加use-permision如下,可参考单机\sdk\ AndroidManifest.xml "

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

<uses-permission android:name="android.permission.SEND_SMS"/>

<uses-permission android:name="android.permission.INTERNET"/>

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

<uses-permission android:name="android.permission.GET_TASKS" />

<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

4) 修改Applicatiion

a) 若无自定义Applicatiion,则修改AndroidManifest.xmlApplication如下:

<application android:name="com.snowfish.cn.ganga.offline.helper.SFOfflineApplication"/>

 

b) 若开发者自定义的Application。则自定义Application需要继承com.snowfish.cn.ganga.offline.helper.SFOfflineApplication

AndroidManifest.xml修改如下:

<application android:name="自定义Application"/>

2 在游戏初启动界面,调用接口(必选接口)

[DllImport ("libsfunityoffline")]

private static extern void onInit(IntPtr context);

参数:currentActivity

调用该接口完成SDK计费流程需要的信息。该接口需在游戏一启动时调用。

调用示例见SDK提供Demo中的APaymentHelperDemo

3 在游戏启动后,判断用户是否开启音效接口(必选接口)

[DllImport ("libsfunityoffline")] private static extern intisMusicEnabled(IntPtr context);

 

判断SDK是否需要打开游戏声音,目前只有移动基地需要此接口

参数名称

类型

注释

context

IntPrt

上下文Activity

返回值: 0 关闭, 1 开启

游戏开发者需要根据该返回值,设定游戏背景音乐是否开启。

调用示例见SDK提供的Demo脚本APaymentHelperDemo

4 在游戏需要弹出计费界面的场景调用计费接口(必选接口)

[DllImport ("libsfunityoffline")]

private static extern void pay (IntPtr context,

string id, string gameObject, string runtimeScriptMethod);

该接口用于定额支付的接口函数。合作伙伴在需要使用定额支付的时候使用该接口

参数名称

类型

注释

     

context

IntPrt

上下文Activity

id

string

计费点索引

gameObject

string

游戏场景中的对象,SDK内部完成计费逻辑后,
并把计费结果通过Unity内部API(com.unity3d
.player.UnityPlayer.UnitySendMessage(String
gameObject,StringruntimeScriptMethod,
Stringargs)
通知到Unity,故游戏开发者需要指
定一个游戏对象和该对象的运行脚本,用于侦听
SDK
的计费结果

runtimeScriptMethod

string

支付监听函数,隶属于gameObject对象的
运行时脚本的方法名称,该方法会在收到
通知后触发。

支付回调:

名称

注释

PayResult. SUCCESS

"0"

支付成功

PayResult. FAILURE

"1"

支付失败

PayResult. CANCELED

"2"

支付取消

调用示例见SDK提供的Demo脚本APaymentHelper.cs

5 更多游戏接口

[DllImport ("libsfunityoffline")]

private static extern void viewMoreGames(IntPtr context);

参数:currentActivity

调用该接口查看更多游戏。

调用示例见SDK提供的Demo脚本

6 游戏退出接口(必选接口)

在游戏退出的时候调用

[DllImport ("libsfunityoffline")]

private static extern void onExit(IntPtr context);

[DllImport ("libsfunityoffline")]

private static extern void onExitWithUI(IntPtr context);

前者主要是释放SDK的资源,无退出确认界面

后者在前者的基础上含有退出确认界面。

调用示例见SDK提供的Demo脚本APaymentHelperDemo