juggleim-rnsdk 0.0.23 → 0.1.3
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.
- package/README.md +2 -16
- package/android/build/.transforms/42b8ab7e96b9440b0e91d2ecba5f579c/results.bin +1 -0
- package/android/build/.transforms/42b8ab7e96b9440b0e91d2ecba5f579c/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/results.bin +1 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/BuildConfig.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/FileUtils.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/GenericCustomMessage.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$1.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$10.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$11.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$12.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$13.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$14.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$15.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$16.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$17.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$18.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$19.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$2.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$20.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$21.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$22.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$3.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$4.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$5.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$6.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$7.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$8.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$9.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMPackage.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/RNTypeConverter$1.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/RNTypeConverter.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/.transforms/b0801d69fde866e333b2668f7818fd8c/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/GenericCustomMessage.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$1.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$10.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$11.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$12.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$13.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$14.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$15.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$16.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$17.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$18.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$19.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$2.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$20.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$21.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$22.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$3.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$4.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$5.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$6.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$7.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$8.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$9.dex +0 -0
- package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +1 -1
- package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +1 -1
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/GenericCustomMessage.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$1.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$10.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$11.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$12.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$13.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$14.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$15.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$16.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$17.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$18.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$19.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$2.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$20.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$21.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$22.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$3.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$4.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$5.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$6.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$7.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$8.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$9.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/GenericCustomMessage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$10.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$11.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$12.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$13.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$14.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$15.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$16.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$17.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$18.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$19.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$20.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$21.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$22.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$5.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$6.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$7.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$8.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$9.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +10 -10
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$1.class.uniqueId17 → JuggleIMManager$1.class.uniqueId23} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$10.class.uniqueId10 → JuggleIMManager$10.class.uniqueId0} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$11.class.uniqueId6 → JuggleIMManager$11.class.uniqueId4} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$12.class.uniqueId1 → JuggleIMManager$12.class.uniqueId20} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$13.class.uniqueId21 → JuggleIMManager$13.class.uniqueId16} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$14.class.uniqueId14 → JuggleIMManager$14.class.uniqueId7} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$15.class.uniqueId15 → JuggleIMManager$15.class.uniqueId13} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$16.class.uniqueId19 → JuggleIMManager$16.class.uniqueId1} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$17.class.uniqueId23 → JuggleIMManager$17.class.uniqueId22} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$18.class.uniqueId0 → JuggleIMManager$18.class.uniqueId19} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$19.class.uniqueId11 → JuggleIMManager$19.class.uniqueId17} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$2.class.uniqueId13 → JuggleIMManager$2.class.uniqueId8} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$20.class.uniqueId9 → JuggleIMManager$20.class.uniqueId12} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$21.class.uniqueId4 → JuggleIMManager$21.class.uniqueId3} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$22.class.uniqueId14 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$3.class.uniqueId3 → JuggleIMManager$3.class.uniqueId10} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$4.class.uniqueId20 → JuggleIMManager$4.class.uniqueId18} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$5.class.uniqueId18 → JuggleIMManager$5.class.uniqueId21} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$6.class.uniqueId16 → JuggleIMManager$6.class.uniqueId2} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$7.class.uniqueId12 → JuggleIMManager$7.class.uniqueId11} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$8.class.uniqueId5 → JuggleIMManager$8.class.uniqueId9} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$9.class.uniqueId2 → JuggleIMManager$9.class.uniqueId15} +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager.class.uniqueId5 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/src/main/java/com/juggleim/GenericCustomMessage.java +45 -0
- package/android/src/main/java/com/juggleim/JuggleIMManager.java +209 -9
- package/ios/GenericCustomMessage.h +24 -0
- package/ios/GenericCustomMessage.m +29 -0
- package/ios/JuggleIMManager.m +72 -1
- package/package.json +1 -1
- package/src/index.d.ts +53 -6
- package/src/index.js +36 -43
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$22.class.uniqueId22 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager.class.uniqueId7 +0 -0
- /package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMPackage.class.uniqueId8 → JuggleIMPackage.class.uniqueId6} +0 -0
|
@@ -36,8 +36,14 @@ import com.juggle.im.internal.logger.JLogLevel;
|
|
|
36
36
|
|
|
37
37
|
import java.util.ArrayList;
|
|
38
38
|
import java.util.HashMap;
|
|
39
|
+
import java.util.Iterator;
|
|
39
40
|
import java.util.List;
|
|
40
41
|
import java.util.Map;
|
|
42
|
+
import java.nio.charset.StandardCharsets;
|
|
43
|
+
|
|
44
|
+
import org.json.JSONObject;
|
|
45
|
+
import org.json.JSONArray;
|
|
46
|
+
import org.json.JSONException;
|
|
41
47
|
|
|
42
48
|
import javax.annotation.Nonnull;
|
|
43
49
|
|
|
@@ -50,6 +56,9 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
50
56
|
private Map<String, IMessageManager.IMessageListener> messageListeners = new HashMap<>();
|
|
51
57
|
private Map<String, IMessageManager.IMessageReadReceiptListener> readReceiptListeners = new HashMap<>();
|
|
52
58
|
private Map<String, IConversationManager.IConversationListener> conversationListeners = new HashMap<>();
|
|
59
|
+
|
|
60
|
+
// 自定义消息类型注册表
|
|
61
|
+
private Map<String, String> customMessageTypes = new HashMap<>();
|
|
53
62
|
|
|
54
63
|
public JuggleIMManager(@Nonnull ReactApplicationContext reactContext) {
|
|
55
64
|
super(reactContext);
|
|
@@ -98,6 +107,22 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
98
107
|
logBuilder.setLogConsoleLevel(JLogLevel.JLogLevelVerbose);
|
|
99
108
|
builder.setJLogConfig(new JLogConfig(logBuilder));
|
|
100
109
|
JIM.getInstance().init(getCurrentActivity(), appKey, builder.build());
|
|
110
|
+
JIM.getInstance().getMessageManager().registerContentType(GenericCustomMessage.class);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* 注册自定义消息类型
|
|
115
|
+
*
|
|
116
|
+
* @param contentType 消息类型标识符
|
|
117
|
+
*/
|
|
118
|
+
@ReactMethod
|
|
119
|
+
public void registerCustomMessageType(String contentType) {
|
|
120
|
+
if (contentType == null || contentType.isEmpty() || contentType.startsWith("jg:")) {
|
|
121
|
+
Log.e("JuggleIM", "contentType 不能以 'jg:' 开头");
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
customMessageTypes.put(contentType, contentType);
|
|
125
|
+
Log.d("JuggleIM", "注册自定义消息类型: " + contentType);
|
|
101
126
|
}
|
|
102
127
|
|
|
103
128
|
/**
|
|
@@ -459,10 +484,13 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
459
484
|
*/
|
|
460
485
|
private WritableMap convertMessageContentToMap(MessageContent content) {
|
|
461
486
|
WritableMap map = new WritableNativeMap();
|
|
462
|
-
|
|
463
|
-
|
|
487
|
+
String contentType = content.getContentType();
|
|
488
|
+
Log.d("JuggleIM", "contentType: " + contentType);
|
|
489
|
+
map.putString("contentType", contentType);
|
|
490
|
+
|
|
491
|
+
if (contentType.equals("jg:text")) {
|
|
464
492
|
map.putString("content", ((TextMessage) content).getContent());
|
|
465
|
-
} else if (
|
|
493
|
+
} else if (contentType.equals("jg:img")) {
|
|
466
494
|
ImageMessage img = (ImageMessage) content;
|
|
467
495
|
map.putString("url", img.getUrl());
|
|
468
496
|
map.putString("localPath", img.getLocalPath());
|
|
@@ -470,21 +498,36 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
470
498
|
map.putString("thumbnailUrl", img.getThumbnailUrl());
|
|
471
499
|
map.putInt("width", img.getWidth());
|
|
472
500
|
map.putInt("height", img.getHeight());
|
|
473
|
-
} else if (
|
|
501
|
+
} else if (contentType.equals("jg:file")) {
|
|
474
502
|
FileMessage file = (FileMessage) content;
|
|
475
503
|
map.putString("url", file.getUrl());
|
|
476
504
|
map.putString("type", file.getType());
|
|
477
505
|
map.putString("name", file.getName());
|
|
478
506
|
map.putDouble("size", file.getSize());
|
|
479
|
-
} else if (
|
|
507
|
+
} else if (contentType.equals("jg:voice")) {
|
|
480
508
|
VoiceMessage voice = (VoiceMessage) content;
|
|
481
509
|
map.putString("url", voice.getUrl());
|
|
482
510
|
map.putString("localPath", voice.getLocalPath());
|
|
483
511
|
map.putInt("duration", voice.getDuration());
|
|
512
|
+
} else if (contentType.equals("jgrn:custom")) {
|
|
513
|
+
GenericCustomMessage genericCustomMessage = (GenericCustomMessage) content;
|
|
514
|
+
byte[] data = genericCustomMessage.encode();
|
|
515
|
+
if (data != null) {
|
|
516
|
+
try {
|
|
517
|
+
String jsonStr = new String(data, StandardCharsets.UTF_8);
|
|
518
|
+
JSONObject jsonObject = new JSONObject(jsonStr);
|
|
519
|
+
map = convertJSONToWritableMap(jsonObject);
|
|
520
|
+
} catch (JSONException e) {
|
|
521
|
+
Log.e("JuggleIM", "解析自定义消息失败: " + e.getMessage());
|
|
522
|
+
}
|
|
523
|
+
} else {
|
|
524
|
+
Log.e("JuggleIM", "No data for contentType: " + contentType);
|
|
525
|
+
}
|
|
484
526
|
} else {
|
|
485
|
-
Log.e("JuggleIM", "Unknown contentType: " +
|
|
527
|
+
Log.e("JuggleIM", "Unknown contentType: " + contentType);
|
|
486
528
|
return RNTypeConverter.toWritableMap(content);
|
|
487
529
|
}
|
|
530
|
+
Log.d("JuggleIM", "convertMessageContentToMap: " + map.getString("contentType"));
|
|
488
531
|
|
|
489
532
|
return map;
|
|
490
533
|
}
|
|
@@ -518,11 +561,160 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
518
561
|
voice.setDuration(map.getInt("duration"));
|
|
519
562
|
return voice;
|
|
520
563
|
default:
|
|
564
|
+
// 检查是否是自定义消息
|
|
565
|
+
if (customMessageTypes.containsKey(contentType)) {
|
|
566
|
+
return createCustomMessage(map);
|
|
567
|
+
}
|
|
521
568
|
Log.e("JuggleIM", "contentType: " + contentType);
|
|
522
569
|
return RNTypeConverter.fromReadableMap(map, MessageContent.class);
|
|
523
570
|
}
|
|
524
571
|
}
|
|
525
572
|
|
|
573
|
+
/**
|
|
574
|
+
* 创建自定义消息对象
|
|
575
|
+
*/
|
|
576
|
+
private MessageContent createCustomMessage(ReadableMap map) {
|
|
577
|
+
try {
|
|
578
|
+
// 将 ReadableMap 转换为 JSON
|
|
579
|
+
JSONObject jsonObject = convertReadableMapToJSON(map);
|
|
580
|
+
String jsonStr = jsonObject.toString();
|
|
581
|
+
|
|
582
|
+
// 创建通用自定义消息对象
|
|
583
|
+
GenericCustomMessage customMsg = new GenericCustomMessage();
|
|
584
|
+
customMsg.setData(jsonStr.getBytes(StandardCharsets.UTF_8));
|
|
585
|
+
|
|
586
|
+
return customMsg;
|
|
587
|
+
} catch (JSONException e) {
|
|
588
|
+
Log.e("JuggleIM", "创建自定义消息失败: " + e.getMessage());
|
|
589
|
+
return null;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/**
|
|
594
|
+
* 将 ReadableMap 转换为 JSONObject
|
|
595
|
+
*/
|
|
596
|
+
private JSONObject convertReadableMapToJSON(ReadableMap map) throws JSONException {
|
|
597
|
+
JSONObject jsonObject = new JSONObject();
|
|
598
|
+
ReadableMapKeySetIterator iterator = map.keySetIterator();
|
|
599
|
+
|
|
600
|
+
while (iterator.hasNextKey()) {
|
|
601
|
+
String key = iterator.nextKey();
|
|
602
|
+
switch (map.getType(key)) {
|
|
603
|
+
case Null:
|
|
604
|
+
jsonObject.put(key, JSONObject.NULL);
|
|
605
|
+
break;
|
|
606
|
+
case Boolean:
|
|
607
|
+
jsonObject.put(key, map.getBoolean(key));
|
|
608
|
+
break;
|
|
609
|
+
case Number:
|
|
610
|
+
jsonObject.put(key, map.getDouble(key));
|
|
611
|
+
break;
|
|
612
|
+
case String:
|
|
613
|
+
jsonObject.put(key, map.getString(key));
|
|
614
|
+
break;
|
|
615
|
+
case Map:
|
|
616
|
+
jsonObject.put(key, convertReadableMapToJSON(map.getMap(key)));
|
|
617
|
+
break;
|
|
618
|
+
case Array:
|
|
619
|
+
jsonObject.put(key, convertReadableArrayToJSONArray(map.getArray(key)));
|
|
620
|
+
break;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
return jsonObject;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
/**
|
|
628
|
+
* 将 ReadableArray 转换为 JSONArray
|
|
629
|
+
*/
|
|
630
|
+
private JSONArray convertReadableArrayToJSONArray(ReadableArray array) throws JSONException {
|
|
631
|
+
JSONArray jsonArray = new JSONArray();
|
|
632
|
+
|
|
633
|
+
for (int i = 0; i < array.size(); i++) {
|
|
634
|
+
switch (array.getType(i)) {
|
|
635
|
+
case Null:
|
|
636
|
+
jsonArray.put(JSONObject.NULL);
|
|
637
|
+
break;
|
|
638
|
+
case Boolean:
|
|
639
|
+
jsonArray.put(array.getBoolean(i));
|
|
640
|
+
break;
|
|
641
|
+
case Number:
|
|
642
|
+
jsonArray.put(array.getDouble(i));
|
|
643
|
+
break;
|
|
644
|
+
case String:
|
|
645
|
+
jsonArray.put(array.getString(i));
|
|
646
|
+
break;
|
|
647
|
+
case Map:
|
|
648
|
+
jsonArray.put(convertReadableMapToJSON(array.getMap(i)));
|
|
649
|
+
break;
|
|
650
|
+
case Array:
|
|
651
|
+
jsonArray.put(convertReadableArrayToJSONArray(array.getArray(i)));
|
|
652
|
+
break;
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
return jsonArray;
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
/**
|
|
660
|
+
* 将 JSONObject 转换为 WritableMap
|
|
661
|
+
*/
|
|
662
|
+
private WritableMap convertJSONToWritableMap(JSONObject jsonObject) throws JSONException {
|
|
663
|
+
WritableMap map = new WritableNativeMap();
|
|
664
|
+
|
|
665
|
+
Iterator<String> iterator = jsonObject.keys();
|
|
666
|
+
while (iterator.hasNext()) {
|
|
667
|
+
String key = iterator.next();
|
|
668
|
+
Object value = jsonObject.get(key);
|
|
669
|
+
if (value instanceof JSONObject) {
|
|
670
|
+
map.putMap(key, convertJSONToWritableMap((JSONObject) value));
|
|
671
|
+
} else if (value instanceof JSONArray) {
|
|
672
|
+
map.putArray(key, convertJSONArrayToWritableArray((JSONArray) value));
|
|
673
|
+
} else if (value instanceof Boolean) {
|
|
674
|
+
map.putBoolean(key, (Boolean) value);
|
|
675
|
+
} else if (value instanceof Integer) {
|
|
676
|
+
map.putInt(key, (Integer) value);
|
|
677
|
+
} else if (value instanceof Double) {
|
|
678
|
+
map.putDouble(key, (Double) value);
|
|
679
|
+
} else if (value instanceof String) {
|
|
680
|
+
map.putString(key, (String) value);
|
|
681
|
+
} else if (value == JSONObject.NULL) {
|
|
682
|
+
map.putNull(key);
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
return map;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* 将 JSONArray 转换为 WritableArray
|
|
691
|
+
*/
|
|
692
|
+
private WritableArray convertJSONArrayToWritableArray(JSONArray jsonArray) throws JSONException {
|
|
693
|
+
WritableArray array = new WritableNativeArray();
|
|
694
|
+
|
|
695
|
+
for (int i = 0; i < jsonArray.length(); i++) {
|
|
696
|
+
Object value = jsonArray.get(i);
|
|
697
|
+
|
|
698
|
+
if (value instanceof JSONObject) {
|
|
699
|
+
array.pushMap(convertJSONToWritableMap((JSONObject) value));
|
|
700
|
+
} else if (value instanceof JSONArray) {
|
|
701
|
+
array.pushArray(convertJSONArrayToWritableArray((JSONArray) value));
|
|
702
|
+
} else if (value instanceof Boolean) {
|
|
703
|
+
array.pushBoolean((Boolean) value);
|
|
704
|
+
} else if (value instanceof Integer) {
|
|
705
|
+
array.pushInt((Integer) value);
|
|
706
|
+
} else if (value instanceof Double) {
|
|
707
|
+
array.pushDouble((Double) value);
|
|
708
|
+
} else if (value instanceof String) {
|
|
709
|
+
array.pushString((String) value);
|
|
710
|
+
} else if (value == JSONObject.NULL) {
|
|
711
|
+
array.pushNull();
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
return array;
|
|
716
|
+
}
|
|
717
|
+
|
|
526
718
|
/**
|
|
527
719
|
* 将消息回应转换为Map
|
|
528
720
|
*/
|
|
@@ -768,6 +960,9 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
768
960
|
* 将 ConversationInfo 转换为 WritableMap
|
|
769
961
|
*/
|
|
770
962
|
private WritableMap convertConversationInfoToMap(ConversationInfo info) {
|
|
963
|
+
if (info == null) {
|
|
964
|
+
return null;
|
|
965
|
+
}
|
|
771
966
|
WritableMap map = new WritableNativeMap();
|
|
772
967
|
map.putMap("conversation", convertConversationToMap(info.getConversation()));
|
|
773
968
|
map.putInt("unreadCount", info.getUnreadCount());
|
|
@@ -793,13 +988,18 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
793
988
|
* 将 MentionInfo 转换为 WritableMap
|
|
794
989
|
*/
|
|
795
990
|
private WritableMap convertMentionInfoToMap(MessageMentionInfo mentionInfo) {
|
|
991
|
+
if (mentionInfo == null) {
|
|
992
|
+
return null;
|
|
993
|
+
}
|
|
796
994
|
WritableMap map = new WritableNativeMap();
|
|
797
995
|
WritableArray userMap = new WritableNativeArray();
|
|
798
996
|
map.putInt("type", mentionInfo.getType().getValue());
|
|
799
|
-
|
|
800
|
-
|
|
997
|
+
if (mentionInfo.getTargetUsers() != null) {
|
|
998
|
+
for (UserInfo userInfo : mentionInfo.getTargetUsers()) {
|
|
999
|
+
userMap.pushMap(convertUserInfoToMap(userInfo));
|
|
1000
|
+
}
|
|
1001
|
+
map.putArray("targetUsers", userMap);
|
|
801
1002
|
}
|
|
802
|
-
map.putArray("targetUsers", userMap);
|
|
803
1003
|
return map;
|
|
804
1004
|
}
|
|
805
1005
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#import <JuggleIM/JuggleIM.h>
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 通用自定义消息类
|
|
5
|
+
* 用于承载 RN 层自定义消息的 JSON 数据
|
|
6
|
+
*/
|
|
7
|
+
@interface GenericCustomMessage : JMessageContent
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 消息数据
|
|
11
|
+
*/
|
|
12
|
+
@property(nonatomic, strong) NSData *data;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 设置消息数据
|
|
16
|
+
*/
|
|
17
|
+
- (void)setData:(NSData *)data;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 获取消息数据
|
|
21
|
+
*/
|
|
22
|
+
- (NSData *)getData;
|
|
23
|
+
|
|
24
|
+
@end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#import "GenericCustomMessage.h"
|
|
2
|
+
|
|
3
|
+
@implementation GenericCustomMessage
|
|
4
|
+
|
|
5
|
+
+ (NSString *)contentType {
|
|
6
|
+
return @"jgrn:custom";
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
- (NSData *)encode {
|
|
10
|
+
return self.data;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
- (void)decode:(NSData *)data {
|
|
14
|
+
self.data = data;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
- (void)setData:(NSData *)data {
|
|
18
|
+
_data = data;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
- (NSData *)getData {
|
|
22
|
+
return _data;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
- (NSString *)conversationDigest {
|
|
26
|
+
return @"[自定义消息]";
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@end
|
package/ios/JuggleIMManager.m
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#import "JuggleIMManager.h"
|
|
2
|
+
#import "GenericCustomMessage.h"
|
|
2
3
|
#import <JuggleIM/JuggleIM.h>
|
|
3
4
|
#import <React/RCTEventEmitter.h>
|
|
4
5
|
|
|
@@ -9,10 +10,20 @@
|
|
|
9
10
|
JMessageReadReceiptDelegate,
|
|
10
11
|
JMessageDestroyDelegate, JConversationDelegate>
|
|
11
12
|
|
|
13
|
+
// 自定义消息类型注册表
|
|
14
|
+
@property(nonatomic, strong) NSMutableDictionary *customMessageTypes;
|
|
15
|
+
|
|
12
16
|
@end
|
|
13
17
|
|
|
14
18
|
@implementation JuggleIMManager
|
|
15
19
|
|
|
20
|
+
- (instancetype)init {
|
|
21
|
+
if (self = [super init]) {
|
|
22
|
+
_customMessageTypes = [NSMutableDictionary dictionary];
|
|
23
|
+
}
|
|
24
|
+
return self;
|
|
25
|
+
}
|
|
26
|
+
|
|
16
27
|
RCT_EXPORT_MODULE(JuggleIM);
|
|
17
28
|
|
|
18
29
|
RCT_EXPORT_METHOD(setServerUrls : (NSArray *)urls) {
|
|
@@ -22,6 +33,19 @@ RCT_EXPORT_METHOD(setServerUrls : (NSArray *)urls) {
|
|
|
22
33
|
RCT_EXPORT_METHOD(initWithAppKey : (NSString *)appKey) {
|
|
23
34
|
[[JIM shared] initWithAppKey:appKey];
|
|
24
35
|
[JIM.shared setConsoleLogLevel:JLogLevelVerbose];
|
|
36
|
+
[JIM.shared.messageManager registerContentType:[GenericCustomMessage class]];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* 注册自定义消息类型
|
|
41
|
+
*/
|
|
42
|
+
RCT_EXPORT_METHOD(registerCustomMessageType : (NSString *)contentType) {
|
|
43
|
+
if ([contentType hasPrefix:@"jg:"]) {
|
|
44
|
+
NSLog(@"contentType 不能以 'jg:' 开头");
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
self.customMessageTypes[contentType] = contentType;
|
|
48
|
+
NSLog(@"注册自定义消息类型: %@", contentType);
|
|
25
49
|
}
|
|
26
50
|
|
|
27
51
|
RCT_EXPORT_METHOD(connectWithToken : (NSString *)token) {
|
|
@@ -419,7 +443,8 @@ RCT_EXPORT_METHOD(addConversationDelegate) {
|
|
|
419
443
|
*/
|
|
420
444
|
- (NSDictionary *)convertMessageContentToDictionary:(JMessageContent *)content {
|
|
421
445
|
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
|
|
422
|
-
|
|
446
|
+
NSString *contentType = [[content class] contentType];
|
|
447
|
+
dict[@"contentType"] = contentType ?: @"";
|
|
423
448
|
|
|
424
449
|
if ([content isKindOfClass:[JTextMessage class]]) {
|
|
425
450
|
JTextMessage *textMsg = (JTextMessage *)content;
|
|
@@ -447,6 +472,23 @@ RCT_EXPORT_METHOD(addConversationDelegate) {
|
|
|
447
472
|
dict[@"localPath"] = voiceMsg.localPath ?: @"";
|
|
448
473
|
dict[@"duration"] = @(voiceMsg.duration);
|
|
449
474
|
dict[@"extra"] = voiceMsg.extra ?: @"";
|
|
475
|
+
} else if ([contentType isEqualToString:@"jgrn:custom"]) {
|
|
476
|
+
// 处理自定义消息:解析 JSON 数据
|
|
477
|
+
GenericCustomMessage *customMsg = (GenericCustomMessage *)content;
|
|
478
|
+
NSData *data = [customMsg encode];
|
|
479
|
+
if (data) {
|
|
480
|
+
NSError *error = nil;
|
|
481
|
+
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data
|
|
482
|
+
options:0
|
|
483
|
+
error:&error];
|
|
484
|
+
if (!error && jsonDict) {
|
|
485
|
+
dict = [jsonDict mutableCopy];
|
|
486
|
+
} else {
|
|
487
|
+
NSLog(@"解析自定义消息失败: %@", error.localizedDescription);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
} else {
|
|
491
|
+
NSLog(@"Unknown contentType: %@", contentType);
|
|
450
492
|
}
|
|
451
493
|
|
|
452
494
|
return dict;
|
|
@@ -1291,6 +1333,9 @@ RCT_EXPORT_METHOD(removeMessageReaction : (
|
|
|
1291
1333
|
voice.localPath = messageDict[@"localPath"];
|
|
1292
1334
|
voice.duration = [messageDict[@"duration"] integerValue];
|
|
1293
1335
|
return voice;
|
|
1336
|
+
} else if (self.customMessageTypes[contentType]) {
|
|
1337
|
+
// 处理自定义消息:将字典转换为 JSON 数据
|
|
1338
|
+
return [self createCustomMessageFromDict:messageDict];
|
|
1294
1339
|
}
|
|
1295
1340
|
|
|
1296
1341
|
return nil;
|
|
@@ -1406,6 +1451,32 @@ RCT_EXPORT_METHOD(removeMessageReaction : (
|
|
|
1406
1451
|
return userInfo;
|
|
1407
1452
|
}
|
|
1408
1453
|
|
|
1454
|
+
/**
|
|
1455
|
+
* 创建自定义消息对象
|
|
1456
|
+
*/
|
|
1457
|
+
- (JMessageContent *)createCustomMessageFromDict:(NSDictionary *)dict {
|
|
1458
|
+
@try {
|
|
1459
|
+
// 将字典转换为 JSON 数据
|
|
1460
|
+
NSError *error = nil;
|
|
1461
|
+
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
|
|
1462
|
+
options:0
|
|
1463
|
+
error:&error];
|
|
1464
|
+
if (error || !jsonData) {
|
|
1465
|
+
NSLog(@"创建自定义消息失败: %@", error.localizedDescription);
|
|
1466
|
+
return nil;
|
|
1467
|
+
}
|
|
1468
|
+
|
|
1469
|
+
// 创建通用自定义消息对象
|
|
1470
|
+
GenericCustomMessage *customMsg = [[GenericCustomMessage alloc] init];
|
|
1471
|
+
[customMsg setData:jsonData];
|
|
1472
|
+
|
|
1473
|
+
return customMsg;
|
|
1474
|
+
} @catch (NSException *exception) {
|
|
1475
|
+
NSLog(@"创建自定义消息异常: %@", exception.reason);
|
|
1476
|
+
return nil;
|
|
1477
|
+
}
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1409
1480
|
/**
|
|
1410
1481
|
* 发送消息已读回执
|
|
1411
1482
|
*/
|
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -36,9 +36,39 @@ declare module "juggleim-rnsdk" {
|
|
|
36
36
|
* 枚举:jg:text, jg:img, jg:file, jg:voice
|
|
37
37
|
*/
|
|
38
38
|
export abstract class MessageContent {
|
|
39
|
-
|
|
39
|
+
contentType: string;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* 自定义消息内容
|
|
44
|
+
* 实现示例:
|
|
45
|
+
* ```
|
|
46
|
+
* export class TextCardMessage extends CustomMessageContent {
|
|
47
|
+
* title: string = '';
|
|
48
|
+
* description: string = '';
|
|
49
|
+
* url: string = '';
|
|
50
|
+
* constructor(title?: string, description?: string, url?: string) {
|
|
51
|
+
* super('demo:textcard');
|
|
52
|
+
* this.title = title || '';
|
|
53
|
+
* this.description = description || '';
|
|
54
|
+
* this.url = url || '';
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* 自定义消息注册
|
|
59
|
+
* ```
|
|
60
|
+
* JuggleIM.registerCustomMessageType('demo:textcard', TextCardMessage);
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export class CustomMessageContent extends MessageContent {
|
|
64
|
+
constructor(contentType: string);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* 自定义消息类构造函数类型
|
|
69
|
+
*/
|
|
70
|
+
export type CustomMessageConstructor = new () => MessageContent;
|
|
71
|
+
|
|
42
72
|
/**
|
|
43
73
|
* 文本消息内容
|
|
44
74
|
*/
|
|
@@ -68,7 +98,6 @@ declare module "juggleim-rnsdk" {
|
|
|
68
98
|
previewList?: MergeMessagePreviewUnit[]
|
|
69
99
|
);
|
|
70
100
|
|
|
71
|
-
// 对应 Java 字段
|
|
72
101
|
title?: string;
|
|
73
102
|
containerMsgId?: string;
|
|
74
103
|
conversation?: Conversation;
|
|
@@ -278,7 +307,7 @@ declare module "juggleim-rnsdk" {
|
|
|
278
307
|
|
|
279
308
|
export interface ConversationInfo {
|
|
280
309
|
conversation: Conversation;
|
|
281
|
-
|
|
310
|
+
unreadCount: number;
|
|
282
311
|
isTop: boolean;
|
|
283
312
|
isMute: boolean;
|
|
284
313
|
lastMessage?: Message;
|
|
@@ -340,6 +369,8 @@ declare module "juggleim-rnsdk" {
|
|
|
340
369
|
count?: number;
|
|
341
370
|
startTime?: number;
|
|
342
371
|
}
|
|
372
|
+
|
|
373
|
+
// 发送消息实体对象
|
|
343
374
|
export interface SendMessageObject {
|
|
344
375
|
conversationType: number;
|
|
345
376
|
conversationId: string;
|
|
@@ -445,6 +476,25 @@ declare module "juggleim-rnsdk" {
|
|
|
445
476
|
*/
|
|
446
477
|
static init(appKey: string): void;
|
|
447
478
|
|
|
479
|
+
/**
|
|
480
|
+
* 注册自定义消息类型
|
|
481
|
+
* @param contentType 消息类型标识符(不能以 "jg:" 开头)
|
|
482
|
+
* @param messageClass 自定义消息类的构造函数
|
|
483
|
+
* @example
|
|
484
|
+
* ```typescript
|
|
485
|
+
* class CustomMessage implements CustomMessageContent {
|
|
486
|
+
* contentType = 'my:custom';
|
|
487
|
+
* value: string = '';
|
|
488
|
+
* }
|
|
489
|
+
*
|
|
490
|
+
* JuggleIM.registerCustomMessageType('my:custom', CustomMessage);
|
|
491
|
+
* ```
|
|
492
|
+
*/
|
|
493
|
+
static registerCustomMessageType(
|
|
494
|
+
contentType: string,
|
|
495
|
+
messageClass: CustomMessageConstructor
|
|
496
|
+
): void;
|
|
497
|
+
|
|
448
498
|
/**
|
|
449
499
|
* 连接到服务器
|
|
450
500
|
* @param token 用户token
|
|
@@ -796,13 +846,11 @@ declare module "juggleim-rnsdk" {
|
|
|
796
846
|
* 发送消息已读回执
|
|
797
847
|
* @param conversation 会话对象
|
|
798
848
|
* @param messageIds 消息ID列表
|
|
799
|
-
* @param callback 回调函数
|
|
800
849
|
* @returns {Promise<Boolean>} 是否发送成功
|
|
801
850
|
*/
|
|
802
851
|
static sendReadReceipt(
|
|
803
852
|
conversation: Conversation,
|
|
804
853
|
messageIds: string[],
|
|
805
|
-
callback?: SimpleCallback
|
|
806
854
|
): Promise<Boolean>;
|
|
807
855
|
|
|
808
856
|
/**
|
|
@@ -817,7 +865,6 @@ declare module "juggleim-rnsdk" {
|
|
|
817
865
|
messageId: string,
|
|
818
866
|
conversation: Conversation,
|
|
819
867
|
isTop: boolean,
|
|
820
|
-
callback?: SimpleCallback
|
|
821
868
|
): Promise<Boolean>;
|
|
822
869
|
}
|
|
823
870
|
}
|