Mobile game project summary and game project summary
Conclusion of the game project: 1. Share sharesdk Weibo
(1) If multiple channels are connected, use the server to obtain the code configuration parameters (app_id Weibo: app_key, app_secret. in Version x, note that the keys set for Android and ios are different when setPlatformConfig sets parameters (Android: AppId AppKey AppSecret; IOS: app_id app_key app_secret)
One Weibo app Android supports sharing multiple sets of package name signatures. IOS needs to upgrade weibosdk to the latest version 3.0 or later, and notify Weibo app background merging to support multiple bundleids, that is: you need to apply for one application for each channel (each developer account can apply for 10 applications, each application only supports one bundleid and one packagename signature)
(2) Android callback file WXEntryActivity. java must be in the directory specified by packagename to monitor whether the sharing is successful. Note that if the agent accesses WXEntryActivity again with the sdk (such as logon. there may be conflicts in the java file. Currently, the login sdk is retained. This channel is shared successfully by default.
(3) You must apply for advanced permissions to share images on Sina Weibo: Weibo advanced write interface; otherwise, an error is reported.
(4) If the Weibo application is not approved, you can add a test account for testing.
(5) Weibo only supports web authorization to reduce sdk size (client sso authorization is not supported)
(6) compatibility with ios9
(7) white screen capture: The URLayou cropping method is related. Modifying the cropping method affects listview and other controls.
(8) note that in addition to the code configuration appid and other information, URLSchemes must correspond to Weibo one by one (not set for Weibo web authorization ).
(9) For other questions, contact the account of the mobile developer service platform Mob.com: 938055289. 2. Andorid buugly crash statistical analysis
(1) Report the debug beta version and the release official version separately.
(2) Upload the symbol table in time, add the version number to so, and back up the so file (proj. android/obj/local/armeabi/libcocos2dcpp. so) backup, can be used with the addr2line tool with the symbol table. (3) add custom crash logs, such as the front-end and transfer logs. (4) The generic/generic_x86 device model is a simulator, and there is a problem with OpenGL support: eglChooseConfig failed. (5) official buugly discussion group: 130979883 3. Android ndk-gdb debugging
(1) configure the environment variables (ndk and sdk, ant must be configured for packaging), and NDK_TOOLCHAIN_VERSION and APP_ABI must be added for Application. mk file configuration.
(2) currently, only armeabi-supported models can be used for debugging, but not meizu mx5 (x86.
(3) Compile NDK_DEBUG, start apk, and enable ndk-gdb for breakpoint debugging. 3. Third-party model testing (1) You can set custom key output statistics, such as static Frame Rate and transfer time in statistical scenarios. (2) We recommend that you use TestIn's own Crash sdk for TestIn testing to block buggly. (3) problems with specific models can be tested remotely with cloudphone. 4. UI Dynamics
(1) The redundant data in the dynamic editor can be deleted.
(2) widgets do not support recursive child transparency gradient. You need to modify the traversal support.
(3) The number of tabs on the UI and the impact of opening or not on the dynamics (the more tabs, the smaller the size ).
(4) Provide interfaces for dynamic execution completion for other modules, such as guidance.
(5) Dynamic coverage during simultaneous playback of two UI dynamics requires that each dynamic is an independent unit. 5. DataEye
(1) Use the channel id for the channel names of the client server, and set the alias.
(2) virtual coin statistics system error: large data volume, you can select a single day to view, still error, try to clear the browser cache.
(3) ensure that the data between the client and the server is consistent: channels, district servers, etc.
(4) When testing the formal channel package, avoid TestIn testing data statistics to the official channel, you can modify the version number and other methods. 6. Push
(1) The local timed push uses AlarmManager to set the alarm clock and listen for restart, and then reset the alarm clock.
(2) network push: You need to add support for multi-package name push. 7. other pitfalls encountered by Android (1) ANR: do not perform too many time-consuming operations on the main thread, and do not initialize various sdk operations in mainavitigateoncreate. (2) The sub-thread directly updates the UI and flashes back: handler is used for processing.
(3) The subthread calls jni to crash:
(4) When the skeleton animation on the Xiaomi 1 machine keeps flashing: 2.3 version library bug, modify the CCTextureAtlas: initWithTexture method. If the Android platform m_uCapacity = 32; (5) addOnGlobalLayoutListener: (6) When the text link is pressed, The moved event is triggered differently. You need to make a limit, if it is determined that the distance between _ touchStartPos and _ touchMovePos is more than 10 pixels, it is regarded as moved. Otherwise, it is difficult to monitor the ended text link and it is difficult to click it. (7) For resource reading, Android cannot read the zip files in the apk package. The read method is copied to the write path for decompression or direct binary reading. (8) launchMode: by default, the game will be restarted after you click the local push message. singleInstance may destroy the sdk logon box Activity and cause the game to be stuck in the logon step. (9) The channel prompts that versionCode is based on versionCode, and versionCode must be added for version updates. (10) When multiple sound effects are played simultaneously, the sound effects are lost. Modify the settings: Cocos2dxSound. java MAX_SIMULTANEOUS_STREAMS_DEFAULT (11) jni interface, c ++ calls the java method, and the return value must match (if there is a mismatch above Android5.0, the return value will inevitably flash back ). 8. if the problem occurs in The Decompilation debugging channel package but does not occur in the parent package, you can omit the steps to switch back and forth the package (1) corresponding version local compilation debug with log version (-DCOCOS2D_DEBUG = 1 ), add debugging logs, decompile the channel package to replace the so file, and re-package the signature for testing.