@mpgd/capacitor-game-services 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/LICENSE +21 -0
  2. package/Package.swift +23 -0
  3. package/README.md +5 -0
  4. package/android/build/.transforms/0eb13b260e23fb4cce6073653afffaa7/results.bin +1 -0
  5. package/android/build/.transforms/0eb13b260e23fb4cce6073653afffaa7/transformed/classes/classes_dex/classes.dex +0 -0
  6. package/android/build/.transforms/54d63ac7c518cb9127a7638240139c7a/results.bin +1 -0
  7. package/android/build/.transforms/54d63ac7c518cb9127a7638240139c7a/transformed/classes/classes_dex/classes.dex +0 -0
  8. package/android/build/.transforms/7f216ddb86b41ea86c5383eac18e2740/results.bin +1 -0
  9. package/android/build/.transforms/7f216ddb86b41ea86c5383eac18e2740/transformed/bundleLibRuntimeToDirRelease/bundleLibRuntimeToDirRelease_dex/dev/mpgd/capacitor/CapacitorGameServicesPlugin.dex +0 -0
  10. package/android/build/.transforms/7f216ddb86b41ea86c5383eac18e2740/transformed/bundleLibRuntimeToDirRelease/desugar_graph.bin +0 -0
  11. package/android/build/.transforms/b08d42dbb7115eed3b80c5ca86ced09c/results.bin +1 -0
  12. package/android/build/.transforms/b08d42dbb7115eed3b80c5ca86ced09c/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/dev/mpgd/capacitor/CapacitorGameServicesPlugin.dex +0 -0
  13. package/android/build/.transforms/b08d42dbb7115eed3b80c5ca86ced09c/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  14. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  15. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  16. package/android/build/intermediates/aapt_friendly_merged_manifests/release/processReleaseManifest/aapt/AndroidManifest.xml +7 -0
  17. package/android/build/intermediates/aapt_friendly_merged_manifests/release/processReleaseManifest/aapt/output-metadata.json +18 -0
  18. package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
  19. package/android/build/intermediates/aar_main_jar/release/syncReleaseLibJars/classes.jar +0 -0
  20. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  21. package/android/build/intermediates/aar_metadata/release/writeReleaseAarMetadata/aar-metadata.properties +6 -0
  22. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  23. package/android/build/intermediates/annotation_processor_list/release/javaPreCompileRelease/annotationProcessors.json +1 -0
  24. package/android/build/intermediates/annotation_processor_list/releaseUnitTest/javaPreCompileReleaseUnitTest/annotationProcessors.json +1 -0
  25. package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  26. package/android/build/intermediates/annotations_typedef_file/release/extractReleaseAnnotations/typedefs.txt +0 -0
  27. package/android/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/releaseUnitTest/generateReleaseUnitTestStubRFile/R.jar +0 -0
  28. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  29. package/android/build/intermediates/compile_library_classes_jar/release/bundleLibCompileToJarRelease/classes.jar +0 -0
  30. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  31. package/android/build/intermediates/compile_r_class_jar/release/generateReleaseRFile/R.jar +0 -0
  32. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  33. package/android/build/intermediates/compile_symbol_list/release/generateReleaseRFile/R.txt +0 -0
  34. package/android/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.13.0 +89 -0
  35. package/android/build/intermediates/default_proguard_files/global/proguard-android.txt-8.13.0 +95 -0
  36. package/android/build/intermediates/default_proguard_files/global/proguard-defaults.txt-8.13.0 +89 -0
  37. package/android/build/intermediates/full_jar/release/createFullJarRelease/full.jar +0 -0
  38. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  39. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  40. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  41. package/android/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +19 -0
  42. package/android/build/intermediates/incremental/lintVitalAnalyzeRelease/release-artifact-dependencies.xml +152 -0
  43. package/android/build/intermediates/incremental/lintVitalAnalyzeRelease/release-artifact-libraries.xml +505 -0
  44. package/android/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +31 -0
  45. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  46. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  47. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  48. package/android/build/intermediates/incremental/mergeReleaseAssets/merger.xml +2 -0
  49. package/android/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +2 -0
  50. package/android/build/intermediates/incremental/mergeReleaseShaders/merger.xml +2 -0
  51. package/android/build/intermediates/incremental/release/packageReleaseResources/compile-file-map.properties +1 -0
  52. package/android/build/intermediates/incremental/release/packageReleaseResources/merger.xml +2 -0
  53. package/android/build/intermediates/incremental/release-mergeJavaRes/merge-state +0 -0
  54. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/dev/mpgd/capacitor/CapacitorGameServicesPlugin.class +0 -0
  55. package/android/build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/dev/mpgd/capacitor/CapacitorGameServicesPlugin.class +0 -0
  56. package/android/build/intermediates/lint-cache/lintVitalAnalyzeRelease/lint-cache-version.txt +1 -0
  57. package/android/build/intermediates/lint-cache/lintVitalAnalyzeRelease/maven.google/com/android/tools/build/group-index.xml +22 -0
  58. package/android/build/intermediates/lint-cache/lintVitalAnalyzeRelease/maven.google/master-index.xml +328 -0
  59. package/android/build/intermediates/lint-cache/lintVitalAnalyzeRelease/sdk_index/snapshot.gz +0 -0
  60. package/android/build/intermediates/lint_model/release/generateReleaseLintModel/module.xml +19 -0
  61. package/android/build/intermediates/lint_model/release/generateReleaseLintModel/release-artifact-dependencies.xml +152 -0
  62. package/android/build/intermediates/lint_model/release/generateReleaseLintModel/release-artifact-libraries.xml +495 -0
  63. package/android/build/intermediates/lint_model/release/generateReleaseLintModel/release.xml +31 -0
  64. package/android/build/intermediates/lint_model_metadata/release/writeReleaseLintModelMetadata/lint-model-metadata.properties +3 -0
  65. package/android/build/intermediates/lint_vital_lint_model/release/generateReleaseLintVitalModel/module.xml +19 -0
  66. package/android/build/intermediates/lint_vital_lint_model/release/generateReleaseLintVitalModel/release-artifact-dependencies.xml +152 -0
  67. package/android/build/intermediates/lint_vital_lint_model/release/generateReleaseLintVitalModel/release-artifact-libraries.xml +495 -0
  68. package/android/build/intermediates/lint_vital_lint_model/release/generateReleaseLintVitalModel/release.xml +31 -0
  69. package/android/build/intermediates/lint_vital_partial_results/release/lintVitalAnalyzeRelease/out/lint-resources.xml +0 -0
  70. package/android/build/intermediates/local_aar_for_lint/release/out.aar +0 -0
  71. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  72. package/android/build/intermediates/local_only_symbol_list/release/parseReleaseLocalResources/R-def.txt +2 -0
  73. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
  74. package/android/build/intermediates/manifest_merge_blame_file/release/processReleaseManifest/manifest-merger-blame-release-report.txt +7 -0
  75. package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-mpgd-capacitor-game-services.jar +0 -0
  76. package/android/build/intermediates/merged_java_res/release/mergeReleaseJavaResource/feature-mpgd-capacitor-game-services.jar +0 -0
  77. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  78. package/android/build/intermediates/merged_manifest/release/processReleaseManifest/AndroidManifest.xml +7 -0
  79. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  80. package/android/build/intermediates/navigation_json/release/extractDeepLinksRelease/navigation.json +1 -0
  81. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  82. package/android/build/intermediates/nested_resources_validation_report/release/generateReleaseResources/nestedResourcesValidationReport.txt +1 -0
  83. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/dev/mpgd/capacitor/CapacitorGameServicesPlugin.class +0 -0
  84. package/android/build/intermediates/runtime_library_classes_dir/release/bundleLibRuntimeToDirRelease/dev/mpgd/capacitor/CapacitorGameServicesPlugin.class +0 -0
  85. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  86. package/android/build/intermediates/runtime_library_classes_jar/release/bundleLibRuntimeToJarRelease/classes.jar +0 -0
  87. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  88. package/android/build/intermediates/symbol_list_with_package_name/release/generateReleaseRFile/package-aware-r.txt +1 -0
  89. package/android/build/outputs/aar/mpgd-capacitor-game-services-debug.aar +0 -0
  90. package/android/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
  91. package/android/build/outputs/logs/manifest-merger-release-report.txt +16 -0
  92. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CapacitorGameServicesPlugin.class.uniqueId0 +0 -0
  93. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  94. package/android/build/tmp/compileReleaseJavaWithJavac/compileTransaction/stash-dir/CapacitorGameServicesPlugin.class.uniqueId0 +0 -0
  95. package/android/build/tmp/compileReleaseJavaWithJavac/previous-compilation-data.bin +0 -0
  96. package/android/build.gradle +30 -0
  97. package/android/src/main/AndroidManifest.xml +1 -0
  98. package/android/src/main/java/dev/mpgd/capacitor/CapacitorGameServicesPlugin.java +124 -0
  99. package/dist/definitions.d.ts +4 -0
  100. package/dist/definitions.js +1 -0
  101. package/dist/index.d.ts +3 -0
  102. package/dist/index.js +3 -0
  103. package/ios/Sources/CapacitorGameServices/CapacitorGameServicesPlugin.swift +114 -0
  104. package/package.json +66 -0
@@ -0,0 +1,16 @@
1
+ -- Merging decision tree log ---
2
+ manifest
3
+ ADDED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml:1:1-72
4
+ INJECTED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml:1:1-72
5
+ package
6
+ INJECTED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml
7
+ xmlns:android
8
+ ADDED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml:1:11-69
9
+ uses-sdk
10
+ INJECTED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
11
+ INJECTED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml
12
+ INJECTED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml
13
+ android:targetSdkVersion
14
+ INJECTED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml
15
+ android:minSdkVersion
16
+ INJECTED from /Users/imjlk/repos/imjlk/mpgd-kit/apps/mobile-capacitor/node_modules/@mpgd/capacitor-game-services/android/src/main/AndroidManifest.xml
@@ -0,0 +1,30 @@
1
+ buildscript {
2
+ repositories {
3
+ google()
4
+ mavenCentral()
5
+ }
6
+ dependencies {
7
+ classpath 'com.android.tools.build:gradle:8.13.0'
8
+ }
9
+ }
10
+
11
+ apply plugin: 'com.android.library'
12
+
13
+ android {
14
+ namespace 'dev.mpgd.capacitor.gameservices'
15
+ compileSdk project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 36
16
+
17
+ defaultConfig {
18
+ minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 24
19
+ targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 36
20
+ }
21
+ }
22
+
23
+ repositories {
24
+ google()
25
+ mavenCentral()
26
+ }
27
+
28
+ dependencies {
29
+ implementation project(':capacitor-android')
30
+ }
@@ -0,0 +1 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android" />
@@ -0,0 +1,124 @@
1
+ package dev.mpgd.capacitor;
2
+
3
+ import com.getcapacitor.JSObject;
4
+ import com.getcapacitor.Plugin;
5
+ import com.getcapacitor.PluginCall;
6
+ import com.getcapacitor.PluginMethod;
7
+ import com.getcapacitor.annotation.CapacitorPlugin;
8
+ import org.json.JSONObject;
9
+
10
+ @CapacitorPlugin(name = "CapacitorGameServices")
11
+ public class CapacitorGameServicesPlugin extends Plugin {
12
+ @PluginMethod
13
+ public void request(PluginCall call) {
14
+ String id = call.getString("id");
15
+ String method = call.getString("method");
16
+
17
+ if (id == null || id.isEmpty()) {
18
+ id = "android-native-mock";
19
+ }
20
+
21
+ if (method == null || method.isEmpty()) {
22
+ call.resolve(errorResponse(id, "INVALID_BRIDGE_REQUEST", "Bridge method is required."));
23
+ return;
24
+ }
25
+
26
+ switch (method) {
27
+ case "runtime.getCapabilities":
28
+ call.resolve(okResponse(id, capabilities()));
29
+ return;
30
+ case "identity.getPlayer":
31
+ call.resolve(okResponse(id, player()));
32
+ return;
33
+ case "commerce.getProducts":
34
+ call.resolve(okResponse(id, new Object[] { product() }));
35
+ return;
36
+ case "commerce.purchase":
37
+ call.resolve(okResponse(id, new JSObject()
38
+ .put("status", "completed")
39
+ .put("transactionId", "android-mock-" + id)
40
+ .put("entitlementIds", new String[] { "COINS_100" })));
41
+ return;
42
+ case "commerce.restore":
43
+ call.resolve(okResponse(id, new JSObject().put("restoredEntitlements", new Object[] {})));
44
+ return;
45
+ case "commerce.getEntitlements":
46
+ call.resolve(okResponse(id, new Object[] {}));
47
+ return;
48
+ case "ads.preload":
49
+ call.resolve(okResponse(id, new JSObject()));
50
+ return;
51
+ case "ads.showRewarded":
52
+ call.resolve(okResponse(id, new JSObject()
53
+ .put("status", "completed")
54
+ .put("rewardGranted", true)
55
+ .put("ledgerEntryId", "android-reward-" + id)));
56
+ return;
57
+ case "ads.showInterstitial":
58
+ call.resolve(okResponse(id, new JSObject().put("status", "shown")));
59
+ return;
60
+ case "leaderboard.submitScore":
61
+ call.resolve(okResponse(id, new JSObject().put("submitted", true)));
62
+ return;
63
+ case "leaderboard.open":
64
+ call.resolve(okResponse(id, new JSObject().put("opened", true)));
65
+ return;
66
+ case "storage.load":
67
+ call.resolve(okResponse(id, JSONObject.NULL));
68
+ return;
69
+ case "storage.save":
70
+ call.resolve(okResponse(id, new JSObject()));
71
+ return;
72
+ default:
73
+ call.resolve(errorResponse(id, "UNSUPPORTED_METHOD", "Unsupported bridge method: " + method));
74
+ }
75
+ }
76
+
77
+ private JSObject okResponse(String id, Object data) {
78
+ return new JSObject()
79
+ .put("id", id)
80
+ .put("ok", true)
81
+ .put("data", data);
82
+ }
83
+
84
+ private JSObject errorResponse(String id, String code, String message) {
85
+ return new JSObject()
86
+ .put("id", id)
87
+ .put("ok", false)
88
+ .put("error", new JSObject()
89
+ .put("code", code)
90
+ .put("message", message)
91
+ .put("retryable", false));
92
+ }
93
+
94
+ private JSObject capabilities() {
95
+ return new JSObject()
96
+ .put("nativeIap", true)
97
+ .put("nativeAds", true)
98
+ .put("rewardedAds", true)
99
+ .put("interstitialAds", true)
100
+ .put("nativeLeaderboard", true)
101
+ .put("achievements", false)
102
+ .put("cloudSave", false)
103
+ .put("socialShare", false)
104
+ .put("haptics", true)
105
+ .put("localizedContent", true);
106
+ }
107
+
108
+ private JSObject player() {
109
+ return new JSObject()
110
+ .put("playerId", "android-local-player")
111
+ .put("displayName", "Android Local Player");
112
+ }
113
+
114
+ private JSObject product() {
115
+ return new JSObject()
116
+ .put("id", "COINS_100")
117
+ .put("type", "consumable")
118
+ .put("title", "100 Coins")
119
+ .put("description", "Adds 100 demo coins.")
120
+ .put("price", new JSObject()
121
+ .put("formatted", "$0.99")
122
+ .put("currencyCode", "USD"));
123
+ }
124
+ }
@@ -0,0 +1,4 @@
1
+ import type { BridgeRequest, BridgeResponse } from '@mpgd/bridge';
2
+ export interface CapacitorGameServicesPlugin {
3
+ request(input: BridgeRequest): Promise<BridgeResponse>;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { CapacitorGameServicesPlugin } from './definitions';
2
+ export declare const CapacitorGameServices: CapacitorGameServicesPlugin;
3
+ export * from './definitions';
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ import { registerPlugin } from '@capacitor/core';
2
+ export const CapacitorGameServices = registerPlugin('CapacitorGameServices');
3
+ export * from './definitions';
@@ -0,0 +1,114 @@
1
+ import Capacitor
2
+ import Foundation
3
+
4
+ @objc(CapacitorGameServicesPlugin)
5
+ public class CapacitorGameServicesPlugin: CAPPlugin, CAPBridgedPlugin {
6
+ public let identifier = "CapacitorGameServicesPlugin"
7
+ public let jsName = "CapacitorGameServices"
8
+ public let pluginMethods: [CAPPluginMethod] = [
9
+ CAPPluginMethod(name: "request", returnType: CAPPluginReturnPromise)
10
+ ]
11
+
12
+ @objc func request(_ call: CAPPluginCall) {
13
+ let id = call.getString("id") ?? "ios-native-mock"
14
+
15
+ guard let method = call.getString("method"), !method.isEmpty else {
16
+ call.resolve(errorResponse(id: id, code: "INVALID_BRIDGE_REQUEST", message: "Bridge method is required."))
17
+ return
18
+ }
19
+
20
+ switch method {
21
+ case "runtime.getCapabilities":
22
+ call.resolve(okResponse(id: id, data: capabilities()))
23
+ case "identity.getPlayer":
24
+ call.resolve(okResponse(id: id, data: player()))
25
+ case "commerce.getProducts":
26
+ call.resolve(okResponse(id: id, data: [product()]))
27
+ case "commerce.purchase":
28
+ call.resolve(okResponse(id: id, data: [
29
+ "status": "completed",
30
+ "transactionId": "ios-mock-\(id)",
31
+ "entitlementIds": ["COINS_100"]
32
+ ]))
33
+ case "commerce.restore":
34
+ call.resolve(okResponse(id: id, data: ["restoredEntitlements": []]))
35
+ case "commerce.getEntitlements":
36
+ call.resolve(okResponse(id: id, data: []))
37
+ case "ads.preload":
38
+ call.resolve(okResponse(id: id, data: [:]))
39
+ case "ads.showRewarded":
40
+ call.resolve(okResponse(id: id, data: [
41
+ "status": "completed",
42
+ "rewardGranted": true,
43
+ "ledgerEntryId": "ios-reward-\(id)"
44
+ ]))
45
+ case "ads.showInterstitial":
46
+ call.resolve(okResponse(id: id, data: ["status": "shown"]))
47
+ case "leaderboard.submitScore":
48
+ call.resolve(okResponse(id: id, data: ["submitted": true]))
49
+ case "leaderboard.open":
50
+ call.resolve(okResponse(id: id, data: ["opened": true]))
51
+ case "storage.load":
52
+ call.resolve(okResponse(id: id, data: NSNull()))
53
+ case "storage.save":
54
+ call.resolve(okResponse(id: id, data: [:]))
55
+ default:
56
+ call.resolve(errorResponse(id: id, code: "UNSUPPORTED_METHOD", message: "Unsupported bridge method: \(method)"))
57
+ }
58
+ }
59
+
60
+ private func okResponse(id: String, data: Any) -> [String: Any] {
61
+ return [
62
+ "id": id,
63
+ "ok": true,
64
+ "data": data
65
+ ]
66
+ }
67
+
68
+ private func errorResponse(id: String, code: String, message: String) -> [String: Any] {
69
+ return [
70
+ "id": id,
71
+ "ok": false,
72
+ "error": [
73
+ "code": code,
74
+ "message": message,
75
+ "retryable": false
76
+ ]
77
+ ]
78
+ }
79
+
80
+ private func capabilities() -> [String: Any] {
81
+ return [
82
+ "nativeIap": true,
83
+ "nativeAds": true,
84
+ "rewardedAds": true,
85
+ "interstitialAds": true,
86
+ "nativeLeaderboard": true,
87
+ "achievements": false,
88
+ "cloudSave": false,
89
+ "socialShare": false,
90
+ "haptics": true,
91
+ "localizedContent": true
92
+ ]
93
+ }
94
+
95
+ private func player() -> [String: Any] {
96
+ return [
97
+ "playerId": "ios-local-player",
98
+ "displayName": "iOS Local Player"
99
+ ]
100
+ }
101
+
102
+ private func product() -> [String: Any] {
103
+ return [
104
+ "id": "COINS_100",
105
+ "type": "consumable",
106
+ "title": "100 Coins",
107
+ "description": "Adds 100 demo coins.",
108
+ "price": [
109
+ "formatted": "$0.99",
110
+ "currencyCode": "USD"
111
+ ]
112
+ ]
113
+ }
114
+ }
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@mpgd/capacitor-game-services",
3
+ "version": "0.1.0",
4
+ "description": "Capacitor native plugin bridge for mpgd game services.",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/imjlk/mpgd-kit.git",
9
+ "directory": "native-plugins/capacitor-game-services"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/imjlk/mpgd-kit/issues"
13
+ },
14
+ "homepage": "https://github.com/imjlk/mpgd-kit#readme",
15
+ "keywords": [
16
+ "mpgd",
17
+ "phaser",
18
+ "vite",
19
+ "typescript",
20
+ "capacitor",
21
+ "apps-in-toss",
22
+ "game-development",
23
+ "game-distribution"
24
+ ],
25
+ "type": "module",
26
+ "sideEffects": false,
27
+ "exports": {
28
+ ".": {
29
+ "types": "./dist/index.d.ts",
30
+ "default": "./dist/index.js"
31
+ }
32
+ },
33
+ "capacitor": {
34
+ "android": {
35
+ "src": "android"
36
+ },
37
+ "ios": {
38
+ "src": "ios"
39
+ }
40
+ },
41
+ "files": [
42
+ "dist",
43
+ "android",
44
+ "ios",
45
+ "Package.swift"
46
+ ],
47
+ "dependencies": {
48
+ "@capacitor/core": "^8.4.1",
49
+ "@mpgd/bridge": "0.1.0"
50
+ },
51
+ "devDependencies": {
52
+ "ttsc": "0.16.9",
53
+ "typescript": "7.0.1-rc"
54
+ },
55
+ "main": "./dist/index.js",
56
+ "types": "./dist/index.d.ts",
57
+ "publishConfig": {
58
+ "access": "public"
59
+ },
60
+ "scripts": {
61
+ "check": "ttsc --noEmit",
62
+ "lint": "ttsc --noEmit",
63
+ "format": "ttsc format",
64
+ "fix": "ttsc fix"
65
+ }
66
+ }