提交修改

This commit is contained in:
changyunjia
2026-06-09 15:16:52 +08:00
co-authored by changyunjia
parent d4442fc21f
commit 3ac4fe0cd0
330 changed files with 48115 additions and 36763 deletions
View File
View File
+9 -9
View File
@@ -1,9 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@string/gcm_defaultSenderId,@string/google_storage_bucket,@string/project_id,@string/google_api_key,@string/google_crash_reporting_api_key,@string/google_app_id">
<string name="gcm_defaultSenderId" translatable="false">47379855623</string>
<string name="google_storage_bucket" translatable="false">cursed-night-vampire-slots.firebasestorage.app</string>
<string name="project_id" translatable="false">cursed-night-vampire-slots</string>
<string name="google_api_key" translatable="false">AIzaSyDXG6OV3RO0ydU80q8ZiudbIDRc1mh30kY</string>
<string name="google_crash_reporting_api_key" translatable="false">AIzaSyDXG6OV3RO0ydU80q8ZiudbIDRc1mh30kY</string>
<string name="google_app_id" translatable="false">1:47379855623:android:9723758e453cb34ff5eda2</string>
</resources>
<?xml version='1.0' encoding='utf-8'?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@string/gcm_defaultSenderId,@string/google_storage_bucket,@string/project_id,@string/google_api_key,@string/google_crash_reporting_api_key,@string/google_app_id">
<string name="gcm_defaultSenderId" translatable="false">47379855623</string>
<string name="google_storage_bucket" translatable="false">cursed-night-vampire-slots.firebasestorage.app</string>
<string name="project_id" translatable="false">cursed-night-vampire-slots</string>
<string name="google_api_key" translatable="false">AIzaSyDXG6OV3RO0ydU80q8ZiudbIDRc1mh30kY</string>
<string name="google_crash_reporting_api_key" translatable="false">AIzaSyDXG6OV3RO0ydU80q8ZiudbIDRc1mh30kY</string>
<string name="google_app_id" translatable="false">1:47379855623:android:9723758e453cb34ff5eda2</string>
</resources>
@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8"?><resources><string name="com.crashlytics.android.build_id" translatable="false">727fe3ed-708f-4699-a198-d58d2e7e6a8b</string></resources>
<?xml version="1.0" encoding="utf-8"?><resources><string name="com.crashlytics.android.build_id" translatable="false">727fe3ed-708f-4699-a198-d58d2e7e6a8b</string></resources>
@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8"?><resources><string name="com.google.firebase.crashlytics.unity_version" translatable="false">2022.3.62f2</string></resources>
<?xml version="1.0" encoding="utf-8"?><resources><string name="com.google.firebase.crashlytics.unity_version" translatable="false">2022.3.62f2</string></resources>
+9 -9
View File
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.unity.ads">
<uses-sdk android:minSdkVersion="23" />
<uses-permission android:name="android.permission.INTERNET" />
<application>
<uses-library android:required="false" android:name="org.apache.http.legacy" />
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713" />
<meta-data android:name="com.google.unity.ads.UNITY_VERSION" android:value="2022.3.62f2" />
</application>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.unity.ads">
<uses-sdk android:minSdkVersion="23" />
<uses-permission android:name="android.permission.INTERNET" />
<application>
<uses-library android:required="false" android:name="org.apache.http.legacy" />
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713" />
<meta-data android:name="com.google.unity.ads.UNITY_VERSION" android:value="2022.3.62f2" />
</application>
</manifest>
@@ -1,2 +1,11 @@
fileFormatVersion: 2
guid: efc4511f2eea8034ca3a0a29cac8f554
guid: efc4511f2eea8034ca3a0a29cac8f554
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,2 +1,11 @@
fileFormatVersion: 2
guid: b014aa072d9631848babd5dafb325d3d
guid: b014aa072d9631848babd5dafb325d3d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -31,6 +31,7 @@ SpriteAtlas:
m_CrunchedCompression: 0
m_AllowsAlphaSplitting: 0
m_Overridden: 0
m_IgnorePlatformSupport: 0
m_AndroidETC2FallbackOverride: 0
m_ForceMaximumCompressionQuality_BC6H_BC7: 1
packingSettings:
@@ -61,6 +62,21 @@ SpriteAtlas:
bindAsDefault: 1
isAtlasV2: 0
cachedData: {fileID: 0}
packedSpriteRenderDataKeys:
- 066d3840badf4d24dba1d42b4c59b888: 21300000
- b902f763d0e47364dae25207b7e47800: 21300000
- b3905a73a6672d9449647aaf036e23fc: 21300000
- 066c0b04be98cd348abb79add91d42bf: 21300000
- 7a9e374666ad6cc47807bb001844f3d8: 21300000
- b3f0d976f6d6802479d6465d11b3aa68: 21300000
- e04e6c970b950d946a782ea08e5f971d: 21300000
- 66305a19e3614694f868c75a982e6b68: 21300000
- a9fd8f6b461461f4a92eafc60921ee78: 21300000
- 05c7216c78d4dd34ebe2bac9c1e274d7: 21300000
- d1546f8db185caf4dafcfa58efa3ba2c: 21300000
- 5a97d5afa6254804f81b7ba956296996: 21300000
- 98e8e1cf8dc7dbf469617c2e40c8a944: 21300000
- 7f0db3cf23c93fc4eac01cb3a52388ee: 21300000
m_MasterAtlas: {fileID: 0}
m_PackedSprites:
- {fileID: 21300000, guid: 066d3840badf4d24dba1d42b4c59b888, type: 3}
+60 -60
View File
@@ -1,61 +1,61 @@
#import <AdSupport/ASIdentifierManager.h>
#import <AppTrackingTransparency/AppTrackingTransparency.h> // iOS 14及以上需要
#import <UIKit/UIKit.h>
extern "C" {
// 获取IDFA的函数
const char* _GetIDFA() {
// 检查iOS版本
if (@available(iOS 14, *)) {
// 检查当前追踪授权状态。注意:实际请求权限的弹窗应在合适时机主动调用,这里仅获取当前状态下的IDFA。
ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];
if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
// 用户已授权
NSString *idfaString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
return strdup([idfaString UTF8String]);
} else {
// 用户未授权、拒绝或受限
NSLog(@"用户未授权广告追踪。状态: %ld", (long)status);
return strdup("");
}
} else {
// Fallback on earlier versions - iOS 14以下版本
if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
NSString *idfaString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
return strdup([idfaString UTF8String]);
} else {
NSLog(@"用户限制了广告追踪。");
return strdup("");
}
}
}
// 请求追踪权限的函数 (应在C#端选择合适的时机调用,例如用户点击同意隐私协议后)
void _RequestTrackingPermission() {
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// 此回调在用户做出选择后执行
NSString *idfaString = @"";
if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
idfaString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
}
// 可以使用UnitySendMessage将结果异步回传给Unity
// UnitySendMessage("GameObjectName", "MethodName", [idfaString UTF8String]);
}];
} else {
// iOS 13或更低版本,无需请求权限,直接检查isAdvertisingTrackingEnabled
// 这里可以不做处理,或者也通过UnitySendMessage通知Unity
}
}
// 获取IDFV的函数
const char* _GetIDFV() {
NSString *idfvString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
if (idfvString) {
return strdup([idfvString UTF8String]);
} else {
return strdup("");
}
}
#import <AdSupport/ASIdentifierManager.h>
#import <AppTrackingTransparency/AppTrackingTransparency.h> // iOS 14及以上需要
#import <UIKit/UIKit.h>
extern "C" {
// 获取IDFA的函数
const char* _GetIDFA() {
// 检查iOS版本
if (@available(iOS 14, *)) {
// 检查当前追踪授权状态。注意:实际请求权限的弹窗应在合适时机主动调用,这里仅获取当前状态下的IDFA。
ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];
if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
// 用户已授权
NSString *idfaString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
return strdup([idfaString UTF8String]);
} else {
// 用户未授权、拒绝或受限
NSLog(@"用户未授权广告追踪。状态: %ld", (long)status);
return strdup("");
}
} else {
// Fallback on earlier versions - iOS 14以下版本
if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
NSString *idfaString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
return strdup([idfaString UTF8String]);
} else {
NSLog(@"用户限制了广告追踪。");
return strdup("");
}
}
}
// 请求追踪权限的函数 (应在C#端选择合适的时机调用,例如用户点击同意隐私协议后)
void _RequestTrackingPermission() {
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// 此回调在用户做出选择后执行
NSString *idfaString = @"";
if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
idfaString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
}
// 可以使用UnitySendMessage将结果异步回传给Unity
// UnitySendMessage("GameObjectName", "MethodName", [idfaString UTF8String]);
}];
} else {
// iOS 13或更低版本,无需请求权限,直接检查isAdvertisingTrackingEnabled
// 这里可以不做处理,或者也通过UnitySendMessage通知Unity
}
}
// 获取IDFV的函数
const char* _GetIDFV() {
NSString *idfvString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
if (idfvString) {
return strdup([idfvString UTF8String]);
} else {
return strdup("");
}
}
}
View File
Regular → Executable
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
Regular → Executable
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File