using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using PottingMobileSDK.MiniJSON;
using UnityEngine;
#if UNITY_IOS
public class PottingMobileServicesiOS : PottingMobileServicesBase
{
[DllImport("__Internal")]
private static extern void channelPayGetAppVersion(int channel);
[DllImport("__Internal")]
private static extern void configSync(string appVer, int lastVer);
[DllImport("__Internal")]
private static extern void dedeemConsume(string redeemcode);
[DllImport("__Internal")]
private static extern void userLogin(string id, int type, string name, string icon);
[DllImport("__Internal")]
private static extern void userSync(string archive, int archiveVersion);
[DllImport("__Internal")]
private static extern void configServerInfo();
[DllImport("__Internal")]
private static extern void userHeartbeat();
[DllImport("__Internal")]
private static extern void userOrder(string goodsid);
[DllImport("__Internal")]
private static extern void userResumepurchase();
[DllImport("__Internal")]
private static extern void userConsume(string goodsid, string orderId);
[DllImport("__Internal")]
private static extern void userQueryOrder(string goodsid, string orderId);
[DllImport("__Internal")]
private static extern void userUploadScore(int score, string info, string rankingid);
[DllImport("__Internal")]
private static extern void userGetUserRank(string rankingid);
//获取活动
[DllImport("__Internal")]
private static extern void getActivitiesWithChannel(string channel, string language);
//获取公告
[DllImport("__Internal")]
private static extern void getGameAnoncementsWithChannel(string channel, string version, string language);
//根据渠道兑换码兑换接口
[DllImport("__Internal")]
private static extern void redeemConsume(string redeemCode, string channel);
[DllImport("__Internal")]
private static extern void redeemUserConsume(string redeemCode, string channel,string clientId);
[DllImport("__Internal")]
private static extern void FeedBackSubmit(string msg, string connect, string docInfo);
[DllImport("__Internal")]
private static extern void overseaPayAppleValidate(string receipt, string appleOrderId, string sku, string skuType, string price, string actId);
[DllImport("__Internal")]
private static extern void gamekeyinfoUpload(string info);
static PottingMobileServicesiOS()
{
InitManager();
}
/**
* 获取当前游戏,渠道的最新版本
* 返回结果无加密
*
* @param channel 渠道
*/
public static void _channelPayGetAppVersion(int channel)
{
channelPayGetAppVersion(channel);
}
/**
* 获取服务器配置
* appver:如果不需要根据版本判断可以串0
* lastver:每次全新获取传0
* 返回结果加密
* @param appVer
* @param lastVer
*/
public static void _configSync(string appVer, int lastVer)
{
configSync(appVer,lastVer);
}
/**
* 兑换码兑换接口
*
* @param redeemcode 兑换码
*/
public static void _dedeemConsume(string redeemcode)
{
dedeemConsume(redeemcode);
}
/**
* 登录接口
*
* @param id 设备ID 或者第三方登录平台的ID
* @param type 登录类型
* @param name 用户昵称
* @param icon 用户头像链接
*/
public static void _userLogin(string id, int type, string name, string icon)
{
userLogin(id,type,name,icon);
}
/**
* 获取(提交)存档到服务器
* 1.每次启动游戏优先获取存档
* 2.当有需要更新的存档时提交服务器
* 提交存档时服务器会默认覆盖以前的存档不会做其他判断
* 请求需要签名,返回数据有加密
*
* @param archive
* @param archiveVersion
*/
public static void _userSync(string archive, int archiveVersion)
{
userSync(archive,archiveVersion);
}
/**
* 心跳检测,判断当前客户端登陆是否有效
* 请求需要签名,返回数据无加密
*/
public static void _userHeartbeat()
{
userHeartbeat();
}
/**
* 恢复购买,查看已完成的所有订单,以及消耗状态
* 请求需要签名,返回结果有加密
*/
public static void _userResumepurchase()
{
userResumepurchase();
}
/**
* 订单消耗
* 请求需要签名,返回结果有加密
*
* @param goodsid 商品ID
* @param orderId 订单ID
*/
public static void _userConsume(string goodsid, string orderId)
{
userConsume(goodsid,orderId);
}
/**
* 查询单个订单的状态
* 用来处理非消耗性商品,判断订单是否支付完成
* 返回结果有加密
*
* @param goodsid 商品ID
* @param orderId 订单ID
*/
public static void _userQueryOrder(string goodsid, string orderId)
{
userQueryOrder(goodsid,orderId);
}
/**
* 提交用户分数
* 返回用户排行榜信息,返回结果无加密
*
* @param score 名次
* @param info 排名信息
* @param rankingid 排名ID
*/
public static void _userUploadScore(int score, string info, string rankingid)
{
userUploadScore(score,info,rankingid);
}
/**
* 获取用户自己的排名
*
* @param rankingid 排行榜ID
*/
public static void _userGetUserRank(string rankingid)
{
userGetUserRank(rankingid);
}
///
/// 获取活动
///
/// 渠道
/// 语言
public static void _getActivitiesWithChannel(string channel,string language)
{
getActivitiesWithChannel(channel,language);
}
///
/// 获取公告
///
///
///
///
public static void _getGameAnoncementsWithChannel(string channel, string version, string language)
{
getGameAnoncementsWithChannel(channel, version,language);
}
///
/// 根据渠道兑换码兑换接口
///
///
///
public static void _redeemConsume(string redeemCode, string channel)
{
redeemConsume(redeemCode, channel);
}
///
/// 根据渠道兑换码兑换接口,需要用户登录
///
///
///
///
public static void _redeemUserConsume(string redeemCode, string channel,string clientId)
{
redeemUserConsume(redeemCode, channel,clientId);
}
public static void _FeedBackSubmit(string msg, string connect, string docInfo)
{
FeedBackSubmit(msg, connect, docInfo);
}
public static void _PayValidate(string payToken, string orderId, string sku, string price, int skuType, string actId)
{
overseaPayAppleValidate(payToken, orderId, sku, price, skuType+"", actId);
}
///
/// 上报关键数据
///
///
public static void _GameInfoUpload (Dictionary lable) {
var jsonString = Json.Serialize(lable);
gamekeyinfoUpload(jsonString);
}
public static void _Serverinfo()
{
configServerInfo();
}
}
#endif