{"id":127,"date":"2023-12-07T11:32:53","date_gmt":"2023-12-07T03:32:53","guid":{"rendered":"https:\/\/www.merecode.com\/?p=127"},"modified":"2023-12-07T11:32:53","modified_gmt":"2023-12-07T03:32:53","slug":"flutter%e4%b8%90%e7%89%88%e5%ae%89%e5%8d%93%e5%a4%9a%e6%b8%a0%e9%81%93%e6%89%93%e5%8c%85%e5%8f%8a%e5%8a%a0%e5%9b%ba%e5%ae%9e%e8%b7%b5","status":"publish","type":"post","link":"https:\/\/www.merecode.com\/?p=127","title":{"rendered":"Flutter\u4e10\u7248\u5b89\u5353\u591a\u6e20\u9053\u6253\u5305\u53ca\u52a0\u56fa\u5b9e\u8df5"},"content":{"rendered":"\n<h5 class=\"wp-block-heading has-text-align-center\">\u672c\u6587\u9996\u53d1\u4e8e\u7a00\u571f\u6398\u91d1<a href=\"https:\/\/juejin.cn\/post\/7216707319643291706\">https:\/\/juejin.cn\/post\/7216707319643291706<\/a>\u3002<\/h5>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u6b64\u65b9\u6cd5\u5168\u7a0b\u56f4\u7ed5360\u52a0\u56fa\u5b9d\u6765\u5b9e\u73b0\u3002<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u9002\u7528\u5bf9\u8c61<\/strong>\uff1a\u7ecf\u8d39\u4e0d\u8db3\u7684\u53c8\u9700\u8981\u5bf9apk\u8fdb\u884c\u4e00\u822c\u52a0\u56fa\u7684\uff0c\u7136\u540e\u9700\u8981\u591a\u6e20\u9053\u6253\u5305\u800c\u4e14\u6e20\u9053\u4e0d\u591a\u7684\u3002&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u4e3a\u4ec0\u4e48\u8bf4\u4e10\u7248\u5462\uff0c\u56e0\u4e3a\u64cd\u4f5c\u8d77\u6765\u8fd8\u662f\u624b\u52a8\u7684\uff0c\u7136\u540e\u501f\u52a9\u4e86360\u52a0\u56fa\u5b9d\u6765\u514d\u8d39\u52a0\u56fa\u5e76\u6253\u51fa\u591a\u4e2a\u6e20\u9053\u5305\u3002\u4e00\u5f00\u59cb\u7684\u65f6\u5019\uff0c\u5199\u4e86\u4e00\u4e2a\u50bb\u74dc\u5f0f\u7684\u6253\u5305\u811a\u672c\uff0c\u672c\u8d28\u5c31\u662f\u5faa\u73af\u6253\u51fa\u6240\u6709\u7684\u6e20\u9053\u5305\uff0c\u7136\u540e\u5c31\u662f\u4e00\u4e2a\u6e20\u9053\u53053\u5206\u949f\uff0c10\u4e2a\u6e20\u9053\u5305\u5c31\u662f30\u5206\u949f\uff0c\u786e\u5b9e\u50bb\u74dc\u3002\u800c\u4f7f\u7528360\u52a0\u56fa\u5b9d\u6765\u51fa\u591a\u6e20\u9053\u672c\u8d28\u4e0a\u662f\u901a\u8fc7\u6ce8\u5165\u4f60\u7684\u6e20\u9053\u53c2\u6570\u5230AndroidManifest.xml\u6587\u4ef6\u5bf9\u5e94\u7684meta-data\u91cc\uff0c\u7406\u8bba\u4e0a\u5c31\u662f\u6253\u4e00\u4e2a\u5305\u7684\u65f6\u95f4\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u4e0a\u4e2a\u6708360\u52a0\u56fa\u5b9d\u66f4\u65b0\u4e4b\u524d\uff0c\u6574\u4e2a\u6d41\u7a0b\u662f\u8fd9\u6837\u7684\uff1a<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><strong>\u4e0a\u4f20apk(\u624b\u52a8) > \u52a0\u56fa(\u81ea\u52a8) > \u51fa\u591a\u6e20\u9053\u5305(\u81ea\u52a8) > \u6bcf\u4e2a\u6e20\u9053\u5305\u91cd\u65b0\u7b7e\u540d(\u81ea\u52a8)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u66f4\u65b0\u4e4b\u540e\uff0c\u540e\u9762\u4e24\u4e2a\u9636\u6bb5\u5f00\u59cb\u6536\u8d39\u4e86\uff0c\u7136\u540e\u73b0\u5728\u6d41\u7a0b\u53d8\u6210\u4e86\u8fd9\u6837\uff1a<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><strong>\u4e0a\u4f20apk(\u624b\u52a8) > \u52a0\u56fa(\u81ea\u52a8) > \u51fa\u591a\u6e20\u9053\u5305(\u624b\u52a8) > \u6bcf\u4e2a\u6e20\u9053\u5305\u91cd\u65b0\u7b7e\u540d(\u624b\u52a8)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u5728\u66f4\u65b0\u4e4b\u524d\u662f\u771f\u7684\u9999\u3002\u3002\u66f4\u65b0\u4e4b\u540e\u4e3b\u8981\u7684\u53d8\u5316\u5c31\u662f\u51fa\u591a\u6e20\u9053\u5305\u8fd9\u4e00\u6b65\u9700\u8981\u624b\u52a8\u4e86\uff0c<strong>\u4f46\u8fd8\u662f\u4e00\u952e\u751f\u6210\u6240\u6709\u6e20\u9053\u5305\u7684<\/strong>\uff0c\u8fd9\u4e2a\u5f71\u54cd\u4e0d\u5927\u3002\u4e3b\u8981\u5f71\u54cd\u662f\u9700\u8981\u5bf9\u6bcf\u4e2a\u6e20\u9053\u5305\u4e00\u4e2a\u4e00\u4e2a\u624b\u52a8\u91cd\u7b7e\u540d\u4e86\uff0c\u8fd9\u4e2a\u5982\u679c\u662f\u6e20\u9053\u5f88\u591a\u7684\u8bdd\u662f\u4e0d\u53ef\u63a5\u53d7\u7684\uff0c\u6240\u4ee5\u4e0a\u9762\u8bf4\u4e86\u5bf9\u6e20\u9053\u5f88\u591a\u7684\u9700\u6c42\u6b64\u65b9\u6cd5\u4e0d\u9002\u7528\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0b\u9762\u8bf4\u4e00\u4e0b\u5177\u4f53\u7684\u6d41\u7a0b\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e00. \u7528\u4efb\u610f\u65b9\u6cd5\u6253\u51fa\u4f60\u7684\u7b7e\u540drelease\u5305<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u8fd9\u91cc\u4e0d\u7ec6\u8bf4\u4e86\uff0c\u6253\u51fa\u4e00\u4e2a\u7b7e\u540d\u7684\u6b63\u5f0f\u5305xxx.apk\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e8c. \u4e0b\u8f7d360\u52a0\u56fa\u52a9\u624b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\uff1a<a href=\"https:\/\/jiagu.360.cn\/#\/global\/download\">https:\/\/jiagu.360.cn\/#\/global\/download<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e09. \u5c06\u6b63\u5f0f\u5305\u4e0a\u4f20\u5230360\u52a0\u56fa\u52a9\u624b\uff08\u4e0a\u4f20\u540e\u4f1a\u81ea\u52a8\u52a0\u56fa\uff09<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1512\" height=\"1040\" src=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-1.webp\" alt=\"111.png\" class=\"wp-image-131\" srcset=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-1.webp 1512w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-1-300x206.webp 300w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-1-1024x704.webp 1024w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-1-768x528.webp 768w\" sizes=\"auto, (max-width: 1512px) 100vw, 1512px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u6253\u5f00\u5de5\u5177\u9762\u677f\uff0c\u9009\u62e9\u5e94\u7528\u52a0\u56fa\uff0c\u9009\u62e9\u6dfb\u52a0\u5e94\u7528\u6dfb\u52a0\u7b2c\u4e00\u6b65\u6253\u51fa\u7684\u5305\uff0c\u4e0a\u4f20\u5b8c\u540e\u5de5\u5177\u4f1a\u81ea\u52a8\u52a0\u56fa\uff0c\u52a0\u56fa\u5b8c\u6210\u4e4b\u540e\u5c31\u4f1a\u663e\u793a\u201d\u4efb\u52a1\u5b8c\u6210_\u5df2\u52a0\u56fa\u201c\u3002\u53ef\u4ee5\u6253\u5f00\u8f93\u51fa\u76ee\u5f55\u67e5\u770b\u5230\u4e00\u4e2axxx_jiagu.apk,\u8fd9\u4e2a\u5c31\u662f\u52a0\u56fa\u5b8c\u7684\u5305\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u56db. \u914d\u7f6e\u6e20\u9053\u53c2\u6570\u6587\u4ef6<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u9700\u8981\u6839\u636e360\u52a0\u56fa\u5b9d\u6e20\u9053\u53c2\u6570\u914d\u7f6e\u89c4\u5219\u6765\u8fdb\u884c\u914d\u7f6e\uff0c\u65b0\u5efa\u4e00\u4e2atxt\u6587\u4ef6\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"922\" height=\"268\" src=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-2.webp\" alt=\"222.png\" class=\"wp-image-132\" srcset=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-2.webp 922w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-2-300x87.webp 300w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-2-768x223.webp 768w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003<strong>\u914d\u7f6e\u89c4\u5219\u5982\u4e0b<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4e00\u4e2a\u6e20\u9053\u4fe1\u606f\u4e00\u884c<\/li>\n\n\n\n<li>\u7b2c\u4e00\u4e2a\u53c2\u6570UMENG_CHANNEL\u662f\u7edf\u8ba1\u5e73\u53f0\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570main\u662f\u6e20\u9053\u540d\u79f0\uff0c\u7b2c\u4e09\u4e2a\u53c2\u6570\u662f\u6e20\u9053\u503c\u3002\u4e09\u4e2a\u53c2\u6570\u9700\u8981\u7528\u7a7a\u683c\u9694\u5f00\u3002<\/li>\n\n\n\n<li>360\u4f1a\u628a\u7b2c\u4e00\u4e2a\u53c2\u6570\u7edf\u8ba1\u5e73\u53f0\u4f5c\u4e3akey\uff0c\u7b2c\u4e09\u4e2a\u53c2\u6570\u6e20\u9053\u503c\u4f5c\u4e3avalue\u6ce8\u5165\u4e00\u4e2ameta-data\u6807\u7b7e\u5230AndroidManifest.xml\u4e2d\uff08\u5982\u4e0b\u56fe\u6240\u793a\uff09\u3002\u6211\u4eec\u53ef\u4ee5\u5728\u4ee3\u7801\u91cc\u53bb\u83b7\u53d6\uff0c\u5982\u679c\u83b7\u53d6\u540e\u9762\u4f1a\u8bf4\u660e\u3002\u7b2c\u4e8c\u4e2a\u53c2\u6570\u6e20\u9053\u540d\u79f0\u4f5c\u7528\u662f\u5728\u6253\u51fa\u6765\u7684\u6e20\u9053\u5305\u540d\u79f0\u540e\u9762\u52a0\u5165\u8fd9\u4e2a\u540e\u7f00\uff0c\u5982xxx_jiagu_main.apk\u3002<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"114\" src=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image.webp\" alt=\"333.png\" class=\"wp-image-130\" srcset=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image.webp 524w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-300x65.webp 300w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/figure>\n<\/div>\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>\u5982\u679c\u4f60\u9700\u8981\u591a\u4e2a\u7edf\u8ba1\u5e73\u53f0\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u8fd9\u6837\u914d\u7f6e\uff1a <img decoding=\"async\" src=\"https:\/\/p9-juejin.byteimg.com\/tos-cn-i-k3u1fbpfcp\/cc5a94e0ff134ebba98e12a1ce70d001~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?\" alt=\"444.png\"> \u7b2c\u4e00\u4e2a\u53c2\u6570\u4e2d\u6709MY_CHANNEL\u548cUMENG_CHANNEL\u4e24\u4e2a\u7edf\u8ba1\u5e73\u53f0\uff0c\u4e2d\u95f4\u7528\u2018|\u2019\u9694\u5f00\uff0c\u7b2c\u4e09\u4e2a\u53c2\u6570\u5c31\u9700\u8981\u6709\u6211\u7684\u5b98\u65b9\u548c\u5b98\u65b9\u4e24\u4e2a\u6e20\u9053\u503c\u4e86\uff0c\u4e5f\u9700\u8981\u7528\u2018|\u2019\u9694\u5f00\u3002\u4f7f\u5b83\u4eec\u5728\u987a\u5e8f\u4e0a\u5bf9\u5e94\u5c31\u884c\u4e86\u3002\u8fd9\u65f6\u5019360\u5c31\u4f1a\u6ce8\u5165\u4e24\u4e2ameta-data\u6807\u7b7e\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"532\" height=\"220\" src=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-4.webp\" alt=\"555.png\" class=\"wp-image-134\" srcset=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-4.webp 532w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-4-300x124.webp 300w\" sizes=\"auto, (max-width: 532px) 100vw, 532px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">\u4e94. \u5f00\u59cb\u591a\u6e20\u9053\u6253\u5305<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1512\" height=\"1040\" src=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-3.webp\" alt=\"666.png\" class=\"wp-image-133\" srcset=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-3.webp 1512w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-3-300x206.webp 300w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-3-1024x704.webp 1024w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-3-768x528.webp 768w\" sizes=\"auto, (max-width: 1512px) 100vw, 1512px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u6253\u5f00\u5de5\u5177\u9762\u677f\uff0c\u9009\u62e9\u5de5\u5177\u5305\uff0c\u9009\u62e9\u6e20\u9053\u6253\u5305\uff0c\u5728\u4f7f\u7528\u591a\u6e20\u9053\u914d\u7f6e\u6587\u4ef6\u4e2d\u5bfc\u5165\u7b2c\u56db\u6b65\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u770b\u5230\u6253\u5305\u8be6\u60c5\u4e2d\u663e\u793a\u201c\u5df2\u5bfc\u5165\u5f53\u524d\u6587\u4ef6\u5185\u76843\u6761\u914d\u7f6e\u4fe1\u606f\u201d\u3002\u7136\u540e\u5728APK\u6587\u4ef6\u4e2d\u5bfc\u5165\u521a\u521a\u52a0\u56fa\u597d\u7684\u5305\uff0c\u70b9\u51fb\u751f\u6210\u6e20\u9053\u5305\u5373\u53ef\u7acb\u5373\u751f\u6210\uff0c\u5b8c\u6210\u540e\u53ef\u4ee5\u5728\u8f93\u51fa\u76ee\u5f55\u770b\u5230xxx_jiagu_main.apk\u8fd9\u6837\u7684\u6e20\u9053\u5305\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u516d. \u5bf9\u6bcf\u4e2a\u6e20\u9053\u5305\u8fdb\u884c\u91cd\u7b7e\u540d<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u6e20\u9053\u5305\u5fc5\u987b\u91cd\u65b0\u7b7e\u540d\u540e\uff0c\u624d\u53ef\u4ee5\u5b89\u88c5\u4f7f\u7528\u3002\u8fd9\u4e00\u6b65\u53ea\u80fd\u4e00\u4e2a\u6e20\u9053\u5305\u4e00\u4e2a\u6e20\u9053\u5305\u7b7e\u540d\u3002(\u6000\u5ff5\u514d\u8d39\u524d)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1512\" height=\"1040\" src=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-5.webp\" alt=\"777.png\" class=\"wp-image-135\" srcset=\"https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-5.webp 1512w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-5-300x206.webp 300w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-5-1024x704.webp 1024w, https:\/\/www.merecode.com\/wp-content\/uploads\/2023\/12\/image-5-768x528.webp 768w\" sizes=\"auto, (max-width: 1512px) 100vw, 1512px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u6253\u5f00\u5de5\u5177\u9762\u677f\uff0c\u9009\u62e9\u5de5\u5177\u5305\uff0c\u9009\u62e9\u7b7e\u540dAPK\uff0c\u7b7e\u540d\u7b56\u7565\u9009\u62e9V2\u5c31\u884c\uff0c\u7136\u540e\u5728\u4f7f\u7528\u6307\u5b9a\u6587\u4ef6\u7b7e\u540d\u4e2d\u5bfc\u5165\u81ea\u5df1\u7684\u7b7e\u540d\u3002\u7136\u540e\u5728APK\u6587\u4ef6\u4e2d\u5bfc\u5165\u4e00\u4e2a\u6e20\u9053\u5305\uff0c\u62c9\u5230\u9762\u677f\u6700\u4e0b\u65b9\u70b9\u51fb\u5f00\u59cb\u7b7e\u540d\u5373\u53ef\u3002\u5b8c\u6210\u540e\u53ef\u4ee5\u5728\u8f93\u51fa\u76ee\u5f55\u770b\u5230xxx_jiagu_main_sign.apk\u8fd9\u6837\u7684\u91cd\u7b7e\u540d\u7684\u6e20\u9053\u5305\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e03. \u5982\u4f55\u5728\u4ee3\u7801\u4e2d\u83b7\u53d6\u6e20\u9053\u53c2\u6570<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u83b7\u53d6meta-data\u6807\u7b7e\u6570\u636e\u9700\u8981\u5728\u539f\u751f\u5b9e\u73b0\u83b7\u53d6\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5728MainActivity.kt\u4e2d:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private val CHANNEL = \"test\/channel\";\r\n\r\noverride fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {\r\n    super.configureFlutterEngine(flutterEngine);\r\n    registerNativeView(flutterEngine);\r\n    handleChannelMethod(flutterEngine);\r\n}\r\n\r\n\/**\r\n * \u5904\u7406\u901a\u9053\u65b9\u6cd5\r\n *\/\r\nprivate fun handleChannelMethod(@NonNull flutterEngine: FlutterEngine){\r\n    MethodChannel(\r\n            flutterEngine.dartExecutor.binaryMessenger,\r\n            CHANNEL\r\n    ).setMethodCallHandler { call, result ->\r\n        when (call.method) {\r\n            \"getUmengChannel\" -> {\r\n                var channel = getUmengChannel();\r\n                if (channel == null) {\r\n                    result.success(\"none\");\r\n                } else {\r\n                    result.success(channel);\r\n                }\r\n            }\r\n            else -> {\r\n                result.notImplemented();\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\n\/**\r\n * \u83b7\u53d6\u53cb\u76df\u6e20\u9053\r\n *\/\r\nprivate fun getUmengChannel(): String? {\r\n    return getChannel(\"UMENG_CHANNEL\");\r\n}\r\n\r\n\/**\r\n * \u83b7\u53d6\u6e20\u9053\r\n *\/\r\nprivate fun getChannel(platformName: String): String? {\r\n    try {\r\n        var appInfo = getAppInfo();\r\n        var metaData = appInfo?.metaData;\r\n        var channel = metaData?.getString(platformName);\r\n        if (!TextUtils.isEmpty(channel)) {\r\n            return channel;\r\n        }\r\n    } catch (e: Exception) {\r\n        e.printStackTrace();\r\n    }\r\n    return null;\r\n}\r\n\r\n\/**\r\n * \u83b7\u53d6app\u4fe1\u606f\r\n *\/\r\nprivate fun getAppInfo():ApplicationInfo?{\r\n    var appInfo = if (Build.VERSION.SDK_INT >= VERSION_CODES.TIRAMISU) {\r\n        getAppInfoAbove33();\r\n    } else {\r\n        getAppInfoBelow33();\r\n    }\r\n    return appInfo;\r\n}\r\n\r\n\/**\r\n * \u83b7\u53d6app\u4fe1\u606f API33\u4ee5\u4e0b\u4f7f\u7528\r\n *\/\r\nprivate fun getAppInfoBelow33(): ApplicationInfo? {\r\n    try {\r\n        var info = this.packageManager.getApplicationInfo(\r\n            this.packageName,\r\n            PackageManager.GET_META_DATA\r\n        );\r\n        return info;\r\n    } catch (e: Exception) {\r\n        e.printStackTrace();\r\n    }\r\n    return null;\r\n}\r\n\r\n\/**\r\n * \u83b7\u53d6app\u4fe1\u606f API33\u53ca\u4ee5\u4e0a\u4f7f\u7528\r\n *\/\r\n@RequiresApi(VERSION_CODES.TIRAMISU)\r\nprivate fun getAppInfoAbove33(): ApplicationInfo? {\r\n    try {\r\n        var info = this.packageManager.getApplicationInfo(\r\n            this.packageName, PackageManager.ApplicationInfoFlags.of(\r\n                PackageManager.GET_META_DATA.toLong()\r\n            )\r\n        );\r\n        return info;\r\n    } catch (e: Exception) {\r\n        e.printStackTrace();\r\n    }\r\n    return null;\r\n}\r\n\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5728Flutter\u4e2d:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  static const methodChannel = MethodChannel(\"test\/channel\");\r\n  \r\n  \/\/\/\u83b7\u53d6\u53cb\u76df\u6e20\u9053\r\n  Future&lt;String> getUmengChannel() async {\r\n    if (Platform.isAndroid) {\r\n      try {\r\n        final String result =\r\n            await methodChannel.invokeMethod(\"getUmengChannel\");\r\n        return result;\r\n      } catch (e) {\r\n        return '\u5b98\u65b9';\r\n      }\r\n    } \r\n    return '\u5b98\u65b9';\r\n  }\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8fd9\u6837\u5c31\u83b7\u53d6\u5230\u4e86android:name\u4e3aUMENG_CHANNEL\u7684meta-data\u6807\u7b7e\u7684android:value\u5373\u6211\u4eec\u914d\u7f6e\u7684\u6e20\u9053\u53c2\u6570\u3002<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u516b. \u540e\u7eed<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u2003\u2003\u7b49\u6211\u8d5a\u94b1\u4e86\u6211\u8981\u5199\u4e2a\u5bcc\u7248\u7684\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u9996\u53d1\u4e8e\u7a00\u571f\u6398\u91d1https:\/\/jue&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[11],"class_list":["post-127","post","type-post","status-publish","format-standard","hentry","category-flutter","tag-flutter"],"_links":{"self":[{"href":"https:\/\/www.merecode.com\/index.php?rest_route=\/wp\/v2\/posts\/127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.merecode.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.merecode.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.merecode.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.merecode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=127"}],"version-history":[{"count":2,"href":"https:\/\/www.merecode.com\/index.php?rest_route=\/wp\/v2\/posts\/127\/revisions"}],"predecessor-version":[{"id":136,"href":"https:\/\/www.merecode.com\/index.php?rest_route=\/wp\/v2\/posts\/127\/revisions\/136"}],"wp:attachment":[{"href":"https:\/\/www.merecode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.merecode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.merecode.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}