這篇不涉及技術(shù),就是問(wèn)題。。
項(xiàng)目真的折騰,我真沒(méi)想到一個(gè)項(xiàng)目我能有這么豐富多彩的經(jīng)歷,不知道其他人有沒(méi)有這些經(jīng)歷:項(xiàng)目經(jīng)歷了四次改名,換logo。
-
小動(dòng)作
App改名,換logo。對(duì)于更名換logo來(lái)說(shuō)工作量不是很大,但是有的應(yīng)用商店對(duì)于更名改logo走的流程會(huì)有些正式,有的會(huì)要求其他已經(jīng)上線的商店的應(yīng)用截圖(假如每個(gè)商店都這么要求,還活不活了?),還有的要專門(mén)審核等等。
對(duì)于logo,應(yīng)用名稱修改,假如有三方登錄,分享等社會(huì)化支持的話,還需要將相應(yīng)開(kāi)放平臺(tái)的logo和名稱一并換掉。但是這就出現(xiàn)了一個(gè)問(wèn)題,比如微信,對(duì)于這些社會(huì)化操作是會(huì)根據(jù)app的唯一key(無(wú)論是什么包名簽名)緩存app的基本信息的,你只改掉了app的名字和logo,當(dāng)老用戶去分享或者授權(quán)登錄的時(shí)候,顯示的依然是老名字老logo,這個(gè)問(wèn)題無(wú)解,我開(kāi)發(fā)的時(shí)候是卸載掉微信重裝才看到有改變的。。
-
復(fù)合招式小動(dòng)作
要說(shuō)改名字換logo,這個(gè)經(jīng)歷并不少見(jiàn),但是第四次的改名字換logo是伴隨著另外一個(gè)事情發(fā)生的。。App歸屬?gòu)囊粋€(gè)公司變?yōu)榱硗庖粋€(gè)公司,需要將app搬到另外一個(gè)公司的賬號(hào)下(一個(gè)app用到了多少個(gè)賬號(hào),第三方sdk的,應(yīng)用商店的),同時(shí)更名字,變logo。這是一項(xiàng)繁瑣的工作,尤其是在這個(gè)過(guò)程中還有一版不小的開(kāi)發(fā)任務(wù)擺在那里的時(shí)候就顯得更加繁瑣。(體會(huì)下,開(kāi)發(fā)過(guò)程中伴隨著等待需要的材料;第三方賬號(hào)新建應(yīng)用創(chuàng)建獲取新的key等(微信支付寶審核還需要一定的時(shí)間),新的申請(qǐng)下來(lái)替換舊的;應(yīng)用商店新建,上傳資料,做好隨時(shí)被拒修改的準(zhǔn)備)
- 主要的部分:新公司的營(yíng)業(yè)執(zhí)照(一個(gè)營(yíng)業(yè)執(zhí)照只能綁定一個(gè)應(yīng)用商店賬號(hào)),蓋有新公司公章的必備的材料(需要啥準(zhǔn)備啥,然后走流程申請(qǐng)),新的名字,新的logo。
具體處理:用原來(lái)的舊代碼,這個(gè)想法確定之后其實(shí)就應(yīng)該要下架原來(lái)的app了,因?yàn)橹辽僖徊糠纸涌诙唐趦?nèi)是一大部分接口走的是“新項(xiàng)目”的代碼和數(shù)據(jù)庫(kù),這樣的話就會(huì)給數(shù)據(jù)庫(kù)帶來(lái)一部分無(wú)用的用戶信息,甚至是會(huì)污染數(shù)據(jù)庫(kù)。但當(dāng)時(shí)鬼使神差的就沒(méi)有下架原來(lái)的應(yīng)用(可能覺(jué)得還能引進(jìn)來(lái)一部分用戶?),不下架原來(lái)的應(yīng)用就得改包名,換簽名(其實(shí)下架了也得改換,因?yàn)橐獡Q成新賬號(hào)來(lái)創(chuàng)建第三方sdk的應(yīng)用接入)。
在Android Studio中的gradle里面修改了下包名(沒(méi)有改實(shí)際的代碼項(xiàng)目的包名,到現(xiàn)在為止沒(méi)有任何問(wèn)題),換了個(gè)簽名,用新的包名和簽名去申請(qǐng)了第三方sdk的appId和key/secrete,然后替換掉舊的。其中qq的key和secrete是在應(yīng)用寶商店創(chuàng)建應(yīng)用的時(shí)候生成的。
等到開(kāi)發(fā)完成,在各個(gè)應(yīng)用商店創(chuàng)建應(yīng)用,發(fā)布。豌豆莢應(yīng)用商店強(qiáng)制需要提供軟件著作權(quán)或者開(kāi)發(fā)者聲明掃描件,其他沒(méi)有強(qiáng)制要求就沒(méi)傳。審核結(jié)果:豌豆莢商店告知檢測(cè)到與已上線app功能雷同;好吧,去下架以前的應(yīng)用。360、應(yīng)用寶被拒,說(shuō)法是根據(jù)國(guó)家規(guī)定,特殊行業(yè)必須提供軟件著作權(quán)、pc官網(wǎng)以及ICP備案號(hào),這是16年發(fā)版并未提及的,看來(lái)行業(yè)越來(lái)越嚴(yán)格了,咋整,發(fā)了封郵件等回復(fù)看是否能繞過(guò)去軟件著作權(quán),以后新開(kāi)發(fā)的同時(shí)一定要記著去申請(qǐng)軟著,有了軟著好多事情就方便了。豌豆莢下之前的app下架之后,再次提出申請(qǐng)?jiān)俅伪痪?,被拒原因:app核心功能(包含但不限。。。。等)必須付費(fèi)才能使用的豌豆莢不收錄,這就沒(méi)辦法了,這不是我能改的。。其他的等等軟著看看后面還有啥要求。
-
事關(guān)一點(diǎn)技術(shù)
開(kāi)發(fā)過(guò)程中還遇到了個(gè)問(wèn)題,三方登錄和分享集成的是Umeng的,其中微信登錄和分享不好用,點(diǎn)擊無(wú)反應(yīng),qq和微博是沒(méi)有問(wèn)題的。在微信開(kāi)放平臺(tái)核對(duì)包名和簽名無(wú)誤之后(這里是我以為的沒(méi)有錯(cuò)誤。。),核對(duì)項(xiàng)目中的appId和secrete確認(rèn)無(wú)誤,很困惑。
說(shuō)一下問(wèn)題的原因(原因有兩個(gè),我在上面敘述中埋了錯(cuò)誤發(fā)生的點(diǎn)兒。。):
1、微信分享和登錄有個(gè)回調(diào).wxapi.WXEntryActivity類(我印象是umeng提供的,繼承了微信的回調(diào)),這個(gè)在AndroidManifest.xml文件中配置的時(shí)候一定前面的報(bào)名一定是在微信開(kāi)放平臺(tái)中輸入的包名(你在微信開(kāi)放平臺(tái)配置的包名.wxapi.WXEntryActivity),這就是我改了build.gradle中的applicationId中的包名沒(méi)有改項(xiàng)目代碼里面的,所以這個(gè)文件自然還在別的包下,在AndroidManifest.xml中依然是拼的以前的包名,要么你把代碼的包名整個(gè)改成新的包名,要么把幾個(gè)和微信相關(guān)的文件重新建個(gè)包放到里面(我沒(méi)有試,但是覺(jué)著可行)。
2、問(wèn)題1修改之后點(diǎn)擊微信登錄,授權(quán)失敗,看一下捕捉到的錯(cuò)誤,是這樣的:weixin auth error(-6)
這里我的微信開(kāi)放平臺(tái)的簽名是錯(cuò)的,不應(yīng)該填寫(xiě)SHA1的簽名,而應(yīng)該是MD5的,并且是小寫(xiě)去掉冒號(hào)的字符串。這個(gè)錯(cuò)誤的原因是微信開(kāi)放平臺(tái)并沒(méi)有在創(chuàng)建應(yīng)用填寫(xiě)簽名的位置說(shuō)明上傳的格式,這里我也想當(dāng)然的是寫(xiě)了一個(gè)而沒(méi)有多加考慮,那么微信開(kāi)放平臺(tái)在哪里有說(shuō)明呢,我發(fā)現(xiàn)的一個(gè)位置是下載資料—>常見(jiàn)問(wèn)題。。常見(jiàn)問(wèn)題里面的signature_method.doc文檔下載下來(lái)才有一個(gè)示例????。?!,不知道別的位置還有沒(méi)有。修改之后重新跑程序還是這個(gè)錯(cuò)誤,又是微信緩存的問(wèn)題了,卸載掉微信重新安裝,然后成功調(diào)起微信登錄了,這里緩存問(wèn)題還好,正常用戶使用的程序都是調(diào)試好了的,不會(huì)出現(xiàn)更換的情況,但是如果你這個(gè)功能點(diǎn)沒(méi)開(kāi)發(fā)好又剛好是這個(gè)問(wèn)題,就被用戶使用了,那這個(gè)用戶就廢了,你也就廢了,這個(gè)概率很低,除非你這么做了。。
微信登錄和分享的這個(gè)問(wèn)題在網(wǎng)上找到了這篇微信第三方登錄問(wèn)題,及-6錯(cuò)誤,比我說(shuō)的要簡(jiǎn)潔,我就是愛(ài)絮叨,哈哈
附圖一張:
