Commit a68b262d 王帅

ZAnti-Addiction

0 个父辈
正在显示 1000 个修改的文件 包含 1408 行增加0 行删除

要显示的修改太多。

为保证性能只显示 1000 of 1000+ 个文件。


Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{5964f273-51fc-0012-e2e3-0a34e9a80d59}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5964f273-51fc-0012-e2e3-0a34e9a80d59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5964f273-51fc-0012-e2e3-0a34e9a80d59}.Debug|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
fileFormatVersion: 2
guid: a99c82c66e97a46098122759fd598e92
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 6267d468fc64f47b294d39bfa2f064b6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 9fc0d4010bbf28b4594072e72b8655ab
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e7e9f87a9d2c7456fb410f03e1bd3cfc
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using UnityEngine;
using AntiAddictionSDK.Api;
using AntiAddictionSDK.Common;
using AntiAddictionSDK;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class AASDKDemoScript: MonoBehaviour
{
AntiAddictionStytemSDK antiAddictionSDK;
public Text statusText;
// Start is called before the first frame update
void Start()
{
antiAddictionSDK = new AntiAddictionStytemSDK();
antiAddictionSDK.ZAASDKCompleted += HandleZAASDKCompleted;
}
// 获取用户实名认证状态
// 0: 未实名认证
// 1:已实名认证
public void IsAuthenticated()
{
statusText.text = "IsAuthenticated";
if (antiAddictionSDK != null)
{
statusText.text = antiAddictionSDK.IsAuthenticated()+"";
}
}
// 获取当前用户年龄段
// 0 未认证
// 1 成年人
// 2 未成年人
public void GetUserAgeGroup()
{
statusText.text = "GetUserAgeGroup";
if (antiAddictionSDK != null)
{
statusText.text = antiAddictionSDK.AgeGroupOfCurrentUser()+"";
}
}
// 获取当前用户剩余可玩时长
// 如果为-1,表示当前用户为成年人账号,将不受防沉迷限制
// 如果为大于0的数,返回的为当前用户的剩余可玩时长,单位秒
public void LeftTimeOfCurrentUser()
{
statusText.text = "LeftTimeOfCurrentUser";
if (antiAddictionSDK != null)
{
statusText.text = antiAddictionSDK.LeftTimeOfCurrentUser()+"";
}
}
public void HandleZAASDKCompleted(object sender, EventArgs args)
{
statusText.text = "HandleZAASDKCompleted";
print("AntiAddiction---HandleZAASDKCompleted");
}
}
fileFormatVersion: 2
guid: 48b3f552ab2654274bce0440be0a7d35
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: b804c719453754652a36629afae61a4d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: d9874b2ccee9242999e129ffe9155838
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e105e00cdce8456482d26b1fcd1ca47d
folderAsset: yes
timeCreated: 1448926516
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: d67e36cf70144eeeb62948707545ecfd
labels:
- gvh
- gvh_version-6.0.0
- gvhp_exportpath-ExternalDependencyManager/Editor/CHANGELOG.md
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: bbace280a3414988a4120dffe101a8df
labels:
- gvh
- gvh_version-1.2.165
- gvhp_exportpath-ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll
- gvhp_targets-editor
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 6674a07de2d44623b6933672c77d3b83
labels:
- gvh
- gvh_version-1.2.165
- gvhp_exportpath-ExternalDependencyManager/Editor/Google.JarResolver_v1.2.165.dll
- gvhp_targets-editor
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 428c622e330a45eba5d4a41e8af28295
labels:
- gvh
- gvh_version-1.2.165
- gvhp_exportpath-ExternalDependencyManager/Editor/Google.PackageManagerResolver_v1.2.165.dll
- gvhp_targets-editor
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 3aa17cd5f43042a1a7381759dc1258a7
labels:
- gvh
- gvh_version-1.2.119.0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: bb6999c8a5ce4ba99688ec579babe5b7
labels:
- gvh
- gvh_version-6.0.0
- gvhp_exportpath-ExternalDependencyManager/Editor/Google.VersionHandler.dll
- gvhp_targets-editor
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 32375fbf440c432abf39044bb88c35fd
labels:
- gvh
- gvh_version-1.2.165
- gvhp_exportpath-ExternalDependencyManager/Editor/Google.VersionHandlerImpl_v1.2.165.dll
- gvhp_targets-editor
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 35a6726adf03479eb04b8c082346d551
labels:
- gvh
- gvh_version-6.0.0
- gvhp_exportpath-ExternalDependencyManager/Editor/LICENSE
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 11eb52f780284fd69194951ac46cb538
labels:
- gvh
- gvh_version-6.0.0
- gvhp_exportpath-ExternalDependencyManager/Editor/README.md
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Assets/ExternalDependencyManager/Editor/CHANGELOG.md
Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll
Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll.mdb
Assets/ExternalDependencyManager/Editor/Google.JarResolver_v1.2.165.dll
Assets/ExternalDependencyManager/Editor/Google.JarResolver_v1.2.165.dll.mdb
Assets/ExternalDependencyManager/Editor/Google.PackageManagerResolver_v1.2.165.dll
Assets/ExternalDependencyManager/Editor/Google.PackageManagerResolver_v1.2.165.dll.mdb
Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.mdb
Assets/ExternalDependencyManager/Editor/Google.VersionHandlerImpl_v1.2.165.dll
Assets/ExternalDependencyManager/Editor/Google.VersionHandlerImpl_v1.2.165.dll.mdb
Assets/ExternalDependencyManager/Editor/LICENSE
Assets/ExternalDependencyManager/Editor/README.md
fileFormatVersion: 2
guid: a4adb5e05b624e2d8133b43394263a1a
labels:
- gvh
- gvh_manifest
- gvh_version-1.2.165
- gvhp_exportpath-ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.165_manifest.txt
- gvhp_manifestname-0External Dependency Manager
- gvhp_manifestname-play-services-resolver
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 60f9667ded34e4890b2095053fe110df
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 0f47bbea2561d4adfb35113adb5499f2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using AntiAddictionSDK.Common;
using UnityEngine;
namespace AntiAddictionSDK.Api
{
public class AntiAddictionStytemSDK
{
static readonly object objLock = new object();
IAntiAddictionClient client;
// Creates AntiAddictionSDK instance.
public AntiAddictionStytemSDK()
{
client = AntiAddictionClientFactory.BuildAntiAddictionClient();
if (client != null) {
client.ZAASDKCompleted += (sender, args) =>
{
if (ZAASDKCompleted != null)
{
ZAASDKCompleted(this, args);
}
};
}
}
// 防沉迷流程结束,可以进入游戏
public event EventHandler<EventArgs> ZAASDKCompleted;
// 获取用户实名认证状态
// 0: 未实名认证
// 1:已实名认证
public int IsAuthenticated()
{
return client.IsAuthenticated();
}
// 获取当前用户年龄段
// 0 未认证
// 1 成年人
// 2 未成年人
public int AgeGroupOfCurrentUser()
{
return client.AgeGroupOfCurrentUser();
}
// 获取当前用户剩余可玩时长
// 如果为-1,表示当前用户为成年人账号,将不受防沉迷限制
// 如果为大于0的数,返回的为当前用户的剩余可玩时长,单位秒
public int LeftTimeOfCurrentUser()
{
return client.LeftTimeOfCurrentUser();
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: a6c831e2ef9744e1a94c0c05be67df8c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
namespace AntiAddictionSDK.Api
{
public class ChannelUserInfoEventArgs : EventArgs
{
public int RealNameStatus { get; set; }
}
}
fileFormatVersion: 2
guid: 28cf2501354b04b8ea337d234e419888
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
namespace AntiAddictionSDK.Api
{
public class GroupIdEventArgs : EventArgs
{
public int GroupId { get; set; }
}
}
fileFormatVersion: 2
guid: b1f00998cae9344e095b911a26ec1d3a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
namespace AntiAddictionSDK.Api
{
public class LeftTimeEventArgs : EventArgs
{
public int LeftTime { get; set; }
}
}
fileFormatVersion: 2
guid: 23cde36653c16468c82f99ef15b7d066
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
namespace AntiAddictionSDK.Api
{
public class LoginSuccessEventArgs : EventArgs
{
public string Message { get; set; }
}
}
fileFormatVersion: 2
guid: dc832a038753a49a9b1c0a6f3c2dc2ca
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 2d5867c0248c147c285b40705fd37152
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using AntiAddictionSDK.Api;
using UnityEngine;
namespace AntiAddictionSDK.Common
{
public interface IAntiAddictionClient
{
// 防沉迷SDK流程结束,可以开始游戏
event EventHandler<EventArgs> ZAASDKCompleted;
// event EventHandler<EventArgs> NoTimeLeftWithTouristsMode;
// 获取用户实名认证状态
// 0: 未实名认证
// 1:已实名认证
int IsAuthenticated();
// 获取当前用户年龄段
// 0 未认证
// 1 成年
// 2 未成年
int AgeGroupOfCurrentUser();
// 获取当前用户剩余可玩时长,如果为-1,表示当前用户为成年人账号,将不受防沉迷限制,如果为大于0的数,返回的为当前用户的剩余可玩时长,单位秒
int LeftTimeOfCurrentUser();
// //设置Android渠道userId(Android 华为,联想渠道需要调用)
// //为兼容华为,联想渠道的防沉迷SDK,当游戏调用华为,联想渠道SDK登录成功,并且获取到了账号Id之后,请调用下面的接口
// void SetChannelUserId(string userId);
// //游戏退到后台时调用(iOS 不需要)
// void GameOnPause();
// //游戏恢复到前台时调用(iOS 不需要)
// void GameOnResume();
// // 暂停计时器
// void StopTimerInUnity();
// // 恢复计时器
// void ResumeTimerInUnity();
// // Android 获取UserCode
// string GetUserCode();
// // Android 设置用户GroupId
// void SetGroupId(int groupId);
// // Android 获取用户GroupId
// int GetGroupId();
// // Android更新用户数据接口
// void UpdateDataReport();
// // Android获取当前用户的分组id,调用此方法后,会通过 event EventHandler<GroupIdEventArgs> OnUserGroupSuccessResult接口返回用户的分组信息
// // zplayId:之前用户系统的zplayId,没有可以传""
// void CheckUserGroupId(string zplayId);
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 8119a6b6f3a1c40cc8e3dd32abb85133
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 044bc082b14974142a61f828eca612ab
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
<dependencies>
<iosPods>
<iosPod name="ZAnti-Addiction" version="~> 0.0.6" minTargetSdk="10.0">
</iosPod>
</iosPods>
</dependencies>
fileFormatVersion: 2
guid: 0942f3b5ccfcc4f18b3ecde725cef3df
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 325e6e59b625f4d6fb0fa2bb56226dd2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using AntiAddictionSDK.Api;
using AntiAddictionSDK.Common;
using UnityEngine;
namespace AntiAddictionSDK
{
public class AntiAddictionClientFactory
{
public static IAntiAddictionClient BuildAntiAddictionClient()
{
// #if UNITY_ANDROID
// return new Android.AntiAddictionClient();
#if UNITY_IPHONE
return new iOS.ManagerClient();
#else
return null;
#endif
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: baffaa4a01af84fadb18f1c8b6ac2740
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 07f972d84c7ac42a0945e601881d261e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ab0741ae1a1fa471ea0bcd130aafd8cf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
#import <Foundation/Foundation.h>
#import <ZAnti_Addiction/ZAAManager.h>
#import "AATypes.h"
@interface AABridge : NSObject
- (instancetype)initSDKWithClientReference:(AATypeClientRef*)aaClientRef;
@property(nonatomic, assign) AATypeClientRef *client;
@property(nonatomic, strong) ZAAManager *manager;
// sdk流程结束,可以开始游戏
@property(nonatomic, assign) ZAASDKCompletedCallback sdkCompletedCallback;
// 获取用户的认证身份
// 0: 未认证
// 1:已认证
- (int)getUserAuthenticationStatus;
// 获取用户年龄状态
// 0: 未登录
// 1: 成年人
// 2: 未成年人
- (int)getUserAgeGroup;
// 查询剩余时间
- (int)checkLeftTimeOfCurrentUser;
@end
fileFormatVersion: 2
guid: 626a406e093ae441fa6e05c9f7e79aff
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:
#import "AABridge.h"
@interface AABridge ()<ZAAManagerDelegate>
@end
@implementation AABridge
- (instancetype)initSDKWithClientReference:(AATypeClientRef*)aaClientRef {
if (self = [super init]) {
_client = aaClientRef;
_manager = [ZAAManager sharedSDK];
_manager.delegate = self;
}
return self;
}
// 获取用户的认证身份
// 0: 未认证
// 1:已认证
- (int)getUserAuthenticationStatus {
return [self.manager getUserAuthenticationStatus];
}
// 获取用户年龄状态
// 0: 未知
// 1: 成年人
// 2: 未成年人
- (int)getUserAgeGroup {
return [self.manager getUserAgeGroup];
}
// 查询剩余时间
- (int)checkLeftTimeOfCurrentUser {
return [self.manager checkLeftTimeOfCurrentUser];
}
#pragma mark - ZAAManagerDelegate
/// sdk流程结束,可以开始游戏
- (void)ZAASDKCompleted {
if (self.sdkCompletedCallback) {
self.sdkCompletedCallback(self.client);
}
}
@end
fileFormatVersion: 2
guid: c02eee6b9b9d142e79f47972c07a040f
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
iPhone: iOS
second:
enabled: 1
settings: {}
- first:
tvOS: tvOS
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
#import "AATypes.h"
#import "AAObjectCache.h"
#import "AABridge.h"
static NSString *AAStringFromUTF8String(const char *bytes) { return bytes ? @(bytes) : nil; }
#pragma mark - method
AATypeRef AACreateManager(AATypeClientRef *client) {
AABridge *manager = [[AABridge alloc] initSDKWithClientReference:client];
AAObjectCache *cache = [AAObjectCache sharedInstance];
[cache.references setObject:manager forKey:[manager aa_referenceKey]];
return (__bridge AATypeRef)manager;
}
void AASetManagerCallbacks(
AATypeClientRef manager,
// 流程结束,开始游戏
ZAASDKCompletedCallback sdkCompletedCallback) {
AABridge *internalManager = (__bridge AABridge *)manager;
internalManager.sdkCompletedCallback = sdkCompletedCallback;
}
int getUserAuthenticationStatus(AATypeRef manager) {
AABridge *internalManager = (__bridge AABridge *)manager;
return [internalManager getUserAuthenticationStatus];
}
int getUserAgeGroup(AATypeRef manager) {
AABridge *internalManager = (__bridge AABridge *)manager;
return [internalManager getUserAgeGroup];
}
void checkLeftTimeOfCurrentUser(AATypeRef manager) {
AABridge *internalManager = (__bridge AABridge *)manager;
[internalManager checkLeftTimeOfCurrentUser];
}
#pragma mark - Other methods
void AARelease(AATypeRef ref) {
if (ref) {
AAObjectCache *cache = [AAObjectCache sharedInstance];
[cache.references removeObjectForKey:[(__bridge NSObject *)ref aa_referenceKey]];
}
}
fileFormatVersion: 2
guid: 6ade945d3b032423283822ce7238c332
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
iPhone: iOS
second:
enabled: 1
settings: {}
- first:
tvOS: tvOS
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
#import <Foundation/Foundation.h>
@interface AAObjectCache : NSObject
+ (instancetype)sharedInstance;
@property(nonatomic, strong) NSMutableDictionary *references;
@end
@interface NSObject (AAOwnershipAdditions)
- (NSString *)aa_referenceKey;
@end
fileFormatVersion: 2
guid: b5fe7646bde6e4ffa893d2c9ae51f88a
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:
#import "AAObjectCache.h"
@implementation AAObjectCache
+ (instancetype)sharedInstance {
static AAObjectCache *sharedInstance;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
- (id)init {
self = [super init];
if(self){
_references = [[NSMutableDictionary alloc] init];
}
return self;
}
@end
@implementation NSObject (AAOwnershipAdditions)
- (NSString *)aa_referenceKey {
return [NSString stringWithFormat:@"%p", (void *)self];
}
@end
fileFormatVersion: 2
guid: f17d036c7bc8a4d228d8ceb6c51f264a
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
iPhone: iOS
second:
enabled: 1
settings: {}
- first:
tvOS: tvOS
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
typedef const void *AATypeRef;
typedef const void *AATypeClientRef;
typedef const void *AATypeRef;
// sdk流程结束
typedef void (*ZAASDKCompletedCallback)(AATypeClientRef *aaClient);
\ No newline at end of file
fileFormatVersion: 2
guid: dc5aedc6079c64247970eff49203eeb2
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:
#if UNITY_IOS
using System;
using System.Runtime.InteropServices;
namespace AntiAddictionSDK.iOS
{
class Externs
{
#region Common externs
[DllImport("__Internal")]
internal static extern IntPtr AARelease(IntPtr obj);
#endregion
[DllImport("__Internal")]
internal static extern IntPtr AACreateManager(IntPtr managerClient);
[DllImport("__Internal")]
internal static extern void AASetManagerCallbacks(
IntPtr manager,
ManagerClient.ZAASDKCompletedCallback sdkCompletedCallback
);
[DllImport("__Internal")]
internal static extern int getUserAuthenticationStatus(IntPtr manager);
[DllImport("__Internal")]
internal static extern int getUserAgeGroup(IntPtr manager);
[DllImport("__Internal")]
internal static extern int checkLeftTimeOfCurrentUser(IntPtr manager);
}
}
#endif
\ No newline at end of file
fileFormatVersion: 2
guid: 87ba15c104eac43f0a2b418bee8cf966
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
#if UNITY_IOS
using System;
using AntiAddictionSDK.Common;
using AntiAddictionSDK.Api;
using System.Runtime.InteropServices;
using UnityEngine;
namespace AntiAddictionSDK.iOS
{
public class ManagerClient : IAntiAddictionClient
{
private IntPtr managerPtr;
private IntPtr managerClientPtr;
internal delegate void ZAASDKCompletedCallback(IntPtr managerClient);
public event EventHandler<EventArgs> ZAASDKCompleted;
public ManagerClient()
{
managerClientPtr = (IntPtr)GCHandle.Alloc(this);
managerPtr = Externs.AACreateManager(managerClientPtr);
Externs.AASetManagerCallbacks(
managerPtr,
sdkCompletedCallback
);
}
private IntPtr ManagerPtr
{
get
{
return ManagerPtr;
}
set
{
Externs.AARelease(ManagerPtr);
ManagerPtr = value;
}
}
public int IsAuthenticated()
{
return Externs.getUserAuthenticationStatus(managerPtr);
}
public int AgeGroupOfCurrentUser()
{
return Externs.getUserAgeGroup(managerPtr);
}
public int LeftTimeOfCurrentUser()
{
return Externs.checkLeftTimeOfCurrentUser(managerPtr);
}
[MonoPInvokeCallback(typeof(ZAASDKCompletedCallback))]
private static void sdkCompletedCallback(IntPtr managerClient)
{
ManagerClient client = IntPtrToManagerClient(managerClient);
if (client.ZAASDKCompleted != null)
{
client.ZAASDKCompleted(client, EventArgs.Empty);
}
}
private static ManagerClient IntPtrToManagerClient(IntPtr managerClient)
{
GCHandle handle = (GCHandle)managerClient;
return handle.Target as ManagerClient;
}
}
}
#endif
\ No newline at end of file
fileFormatVersion: 2
guid: 74af78250402a47709b975245ee92e84
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
namespace AntiAddictionSDK.iOS
{
public sealed class MonoPInvokeCallbackAttribute : Attribute
{
public MonoPInvokeCallbackAttribute(Type type) { }
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 9de2a66c67b904a62a719eca3c522bd2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CADisableMinimumFrameDuration</key>
<false />
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>AASDK-Unity</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.1</string>
<key>CFBundleVersion</key>
<string>0</string>
<key>LSRequiresIPhoneOS</key>
<true />
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true />
</dict>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen-iPhone</string>
<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreen-iPad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreen-iPhone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreen-iPhone</string>
<key>UIPrerenderedIcon</key>
<false />
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
<string>metal</string>
</array>
<key>UIRequiresFullScreen</key>
<true />
<key>UIRequiresPersistentWiFi</key>
<false />
<key>UIStatusBarHidden</key>
<true />
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleDefault</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
</array>
<key>Unity_LoadingActivityIndicatorStyle</key>
<integer>-1</integer>
<key>UnityCloudProjectID</key>
<string />
<key>UnityCrashSubmissionURL</key>
<string />
<key>zgameid</key>
<string>z01005</string>
<key>zchannelid</key>
<string>zy005</string>
</dict>
</plist>
此文件类型无法预览
此文件太大,无法显示。
此文件类型无法预览
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!