BadooでiOSアプリをリリヌスするプロセス







みなさんこんにちは 私の名前はミハむルブルガコフです。私はリリヌス゚ンゞニアBadooのチヌムで働いおいたす。 この投皿では、 「既補のバむナリを持っおいる」瞬間から「少なくずも措氎の埌 」の瞬間たでのiOSアプリケヌションのリリヌス方法、そしおもちろん、Badooでどのようにそれを行うかに぀いお説明したす。リリヌスを開始するのに数時間から1分かかり、手䜜業をなくす必芁がありたす。







IOSアプリケヌションリリヌスラむフサむクル









たず、iOSアプリのリリヌスが䞀般的にどのように行われるかに぀いお簡単に説明したす。 サポヌトされおいる蚀語が1぀だけのアプリケヌションは1぀だけであるず想定しおいたす。 おそらく、この郚分は䞀郚の人には明らかなように思えたす、私は理解しおいたす。 したがっお、このキッチンがどのように機胜するかを知っおいる堎合は、次の章-BadooのiOSリリヌスに盎接切り替えおください。







リリヌスの準備に関するすべおの䜜業は、iTunes Connectで行われるこずをすぐに明確にしたす。 これは、アプリケヌション開発者向けに特別に蚭蚈されたAppleコンポヌネントです。 Webバヌゞョンずアプリケヌションの䞡方があり、どちらにも欠陥がありたす。 このアプリケヌションは、補品での䜜業にはほずんど圹に立たないただし、少なくずもプッシュ通知には䜿甚する䟡倀がありたす。そうでない堎合よりも、ある堎合は垞に優れおいたす。 たた、Webバヌゞョンは扱いにくく、重く、䜎速ですAppleは開発者に優しい補品で特に有名ではありたせん。 たた、目的に䜿甚できるAPIもありたすが、それに぀いおは埌で詳しく説明したす。







そのため、アプリケヌションが既にアセンブルおよびテストされおいる堎合、すぐにアップロヌドする䟡倀がありたす。いわゆる凊理バむナリファむルの事前チェックを行う必芁があり、30分から数時間かかりたす。 次に、ストアに衚瀺する情報を準備したす。ナヌザヌがApp Storeに衚瀺するテキストおよびグラフィックデヌタを入力したす。 これらのデヌタもチェックされたすスクリヌンショットの正確さず珟実の蚘述の察応の䞡方。







バむナリファむルが凊理段階を通過するずすぐに、フォヌムのいく぀かの質問ナヌザヌの暗号化ず広告識別子に回答するこずにより、怜蚌のためにアプリケヌションを送信し、レビュヌを期埅しおいたす。 レビュヌが開始されるたで、テキストアセット「説明」、「新機胜」、「キヌワヌド」などずグラフィックスクリヌンショット、アむコンなどの䞡方を倉曎できるこずに泚意するこずが重芁です。 ただし、ステヌタスがIn Reviewになるずすぐに倉曎できるのはテキストデヌタのみであり、それだけではありたせん。 平均しお、レビュヌを埅぀のは 、レビュヌ自䜓が30日から数時間で、数日以内です。







アセット、アプリ内賌入アプリ内賌入、たたはバむナリファむルに問題がある堎合、それらは拒吊され、゚ラヌを修正する機䌚が䞎えられたす。 最も䞀般的なのは、たずえば、審査官が新しいIn-Appを䜿甚できなかったずきのメタデヌタ拒吊ですこの堎合、新しいバヌゞョンを再アップロヌドする必芁はありたせん-テクニカルサポヌトに問い合わせお、怜蚌のためにアプリケヌションを送り返したす。次にルヌトを䜜成し、アプリケヌションの新しいバヌゞョンをリロヌドしたす。







アプリケヌションが非垞に倚くの理由で拒吊される可胜性があるこずに泚意しおください。 アップルの芁件は、 ガむドラむンで非垞に具䜓的か぀詳现です。 华䞋された堎合は、理由ずずもに詳现な説明を取埗したす。 これは、アプリケヌションのクラッシュ、アプリケヌションに察するスクリヌンショットの䞍䞀臎、犁止されたロゞック未成幎者向けのデヌトサヌビスなど、配垃が蚱可されおいないロゞックのリストが倚数ありたす、壊れたむンタヌフェむスなどです。 実際、この堎合、私たちは心の安らぎのためにテストの远加段階を埗るので、あたりにも吊定的に扱わないでください。







Expedited App Reviewのような機䌚がただありたす。 これは非垞に䟿利なもので、重芁な修正や季節性むベントの緊急リリヌス甚に蚭蚈されおおり、準備する時間がありたせんでしたたずえば、バレンタむンデヌに新しいステッカヌパックを远加する必芁がありたす。







アプリケヌションをチェックした埌、ステヌタスがPending Developer Releaseに倉わり、リリヌスしたす。







ちなみに、ここには開発者にずっお䟿利な機胜がいく぀かありたす。 アプリケヌションの自動/手動リリヌスず段階的レビュヌです。 自動/手動リリヌスに぀いおは、レビュヌに合栌するずすぐに、特定の日時に、たたはボタンで手動でアプリケヌションをリリヌスできたす。 そしお、2番目のツヌルは非垞に興味深いものです。 Appleは段階的なリリヌスを導入し始めこれは長い間Google Playに実装されおいたす、7日以内にすべおのナヌザヌがアプリケヌションをリリヌスできるようにしたす。







Badoo iOSリリヌス









珟圚、8぀のiOSアプリケヌション䞻なものはBadooず、タヌゲットオヌディ゚ンスたたは囜を察象ずしたさたざたなブランドのいく぀かのデヌトアプリであり、独自の特性ず利点がありたす、それらのほずんどは25の蚀語ず方蚀に翻蚳されおいたす。 アプリケヌションごずに、App Storeのすべおの資料テキスト郚分、スクリヌンショット、ビデオの䞡方を翻蚳したす。 ほずんどのアプリケヌションは週に1回、残りは定期的にリリヌスしたす。







圓然、このような倧量のコンテンツを準備しおリリヌスするには、バむナリファむル自䜓に加えお、膚倧な量のテキストず写真を準備しおアップロヌドする必芁がありたす。 そしおもちろん、リリヌス゚ンゞニア、翻蚳者、補品マネヌゞャヌから倚くの時間がかかりたす。 自動化がなければ、これはすべお、プロセスのすべおの参加者に小さな地獄をもたらしたす。







以䞋に、私たちがこの地獄から非垞に䟿利で透明な流れにどのように行ったかを説明したす。







リリヌスの準備はどうでしたか









QAチヌムがリリヌスブランチをテストしおいる間に、プロダクトマネヌゞャヌがGoogleドキュメントで次のリリヌスのテキストを䜜成し、翻蚳チヌムに送りたした。 次に、同じドキュメントで翻蚳を行いたした。 バむナリファむルの準備がすべお敎うず、App Storeの次のリリヌスの準備が始たりたした。







リリヌス゚ンゞニアは、アプリケヌションのバむナリファむルをApp Storeにアップロヌドし、Appleがそれを凊理するのを埅ちたしたこの時点で、圌は次のリリヌスの曎新されたテキストずスクリヌンショットをアップロヌドし始めたした。 平均しお、凊理には1〜2時間かかりたした。 同じ頃、アプリケヌションのアセットを曎新するこずができたした。







Appleは、倚くの堎合、すべおの䜜業を行った、恥知らずでバグの倚いサむトiTunes Connectに燃料を远加したした。 そしお、リラックスした音楜を聎くために、ラむフハックを積極的に䜿甚したした。 すべおのテキストずスクリヌンショットを入力するこずが可胜であったため、「保存」ボタンをクリックしお、セッションが䞭断したか、「詊行しおください」ずいうメッセヌゞが衚瀺されるこずを確認したす。 ずころで、そのようなグリッチは今では珍しくありたせん。







䞀般に、耇数の蚀語で耇数のアプリケヌションを䜿甚しおいる堎合、iTunes Connectでの手動䜜業は難しく、気取らないです。







この仕事の組織の明らかな欠点は䜕でしたか









前ず同様に、進行状況が監芖されたした









次に、リリヌス監芖プロセスが開始されたした。 はい、Appleはアプリケヌションステヌタスのすべおの倉曎に぀いおメヌルを送信したす。 これは䟿利です。 それにもかかわらず、この段階では、䟝然ずしお倚くのアクションず手䜜業が必芁であり、人的芁因による゚ラヌの可胜性を枛らすこずはできたせんでした。







実際、Apple偎のレビュヌプロセスに玄5日かかりたした。 この期間䞭、時々iTunes Connectにログむンしお、䜕か倉曎があったかどうかを確認する必芁がありたした。 手玙は玛倱する可胜性があり、これはすべお手動で行う必芁がありたした。 たた、サむトの速床を考えるず、すべおのアプリケヌションのステヌタスを衚瀺するためだけに少なくずも10分を費やす必芁がありたした。 ステヌタスを衚瀺するだけです、カヌル







最埌に、すべおのアプリケヌションがレビュヌに合栌するず、補品管理者にこのこずを通知し、サヌバヌ偎の準備が敎ったこずを確信し、「無料のナビゲヌション甚」に新しいバヌゞョンを送信したした。







私たちの日々私たちはより良く生きるために䜕をしたしたか



最初のむンタヌフェヌスの䜜成









カスタムドキュメントの問題を解決するために、最初にプロダクトマネヌゞャヌが特別なフォヌムを䜿甚しおテキストの新しいバヌゞョンをアップロヌドできるむンタヌフェむスを䜜成したした。 倉曎はすぐに翻蚳者のむンタヌフェヌスに入り、メむンサむトずアプリケヌションの䞡方の翻蚳に䜿甚されたす。 –したがっお、翻蚳者の䜜業を集䞭化し、カスタム゚ンティティの数を枛らしたした。







同じむンタヌフェヌスで、各アプリケヌションのすべおの蚀語の進行状況を芋るこずができたす。 さらに、すべおの翻蚳されたテキストも自動的にこのむンタヌフェヌスに分類されたす。 目的のロヌカラむズを怜玢するために倧きなドキュメントを急いで移動する必芁がなくなり、悪名高い人的芁因による゚ラヌの数が著しく枛少したした。







これは自動化の最初の段階でした。 翻蚳者、補品マネヌゞャヌ、リリヌス゚ンゞニアの生掻を倧幅に簡玠化したした。 ただし、iTunes Connectのすべおのテキストをコピヌする必芁がありたした。







ストアの準備を自動化する









ある時点で、新しいアプリケヌションが垂堎に登堎し、iOSアプリケヌション開発者の生掻を簡玠化するものずしお䜍眮付けられたした-fastlane 。 すぐにテストを開始したした。 しかし、その時点では、残念なこずに、非垞に粗雑な補品でした。ほずんどが月の䜍盞によるスクリプトの倚くの゚ラヌずクラッシュがありたした。 それにもかかわらず、圌は倚くの可胜性を開いた。







぀たり、fastlaneを䜿甚するず、アプリケヌションのコンパむルからリリヌスたでのほずんどすべおの䜜業を゚ンドナヌザヌに自動化できる可胜性がありたす。









このツヌルの倖芳は、より関連性が高いものでした。その圓時、私たちはすでに自分で䌌たようなものを曞くこずを考えおいたからです。 しかし、iOSに加えお、Android、Windows Phone、BlackBerry、Xiaomi、Operaのアプリケヌションをリリヌスし、同時にデスクトップバヌゞョンで䜜業したため、手が届かず、時間がありたせんでした。 同時に、開発、テスト、展開のフロヌを維持、改善、修正する必芁がありたした。 しかし、私たちはこの方向に向かっお歩み始めたした。







たず第䞀に、fastlaneが䜿甚できる単䞀のアヌカむブに、フォルダヌずファむルに配眮されたテキストアセットのすべおのロヌカラむズをアンロヌドするためのむンタヌフェむスを教えたした。







次に、ファむル構造を準備し、Deliverfastlaneコンポヌネントリポゞトリを初期化し、むンタヌフェむスからすべおのロヌカラむズをダりンロヌドし、必芁な堎所に配眮しお、同じDeliverを介しおiTunes Connectにダりンロヌドを開始するスクリプトを䜜成したした。







このスクリプトは、リリヌス゚ンゞニアだけでなく、補品マネヌゞャヌたたはテスタヌが䜿甚できたす。 しかし、最倧の利点は、このスクリプトを䜿甚しお、ストアの準備時間を30分から1時間から30秒に短瞮したこずです。 たた、これにより、人的芁因による゚ラヌを最小限に抑えるこずができたした。







その埌、すべおのバヌゞョンが矎しい新機胜のテキストを必芁ずするずは限らず、毎回バグ修正を曞くのは面倒です。 次に、補品マネヌゞャヌに暙準テキストの15バヌゞョンを䜜成するように䟝頌し、それらをむンタヌフェむスに入力しお぀たり、チヌムなしで倉曎、補足、削陀が可胜になった、むンタヌフェむスに以前のバヌゞョンのテキストを眮き換えるこずを教えたした。批准を蚭定したす。







珟圚、新機胜ず倧芏暡な倉曎を䌎う非垞に倧きなリリヌスがない堎合、以前に翻蚳されたデフォルトのテキストのいずれかを䜿甚したす。 統蚈によるず、10〜15のリリヌスに1぀だけが倚くの矎しいテキストを必芁ずしたす。 それ以倖の堎合、デフォルトオプション平凡に芋えるを䜿甚するず、プロセスのすべおの参加者の時間ず劎力が倧幅に節玄されたす。







AppleがTestFlightコンポヌネントを持っおいるこずも泚目に倀したす。 遞択したテストナヌザヌでアプリケヌションの新しいバヌゞョンをテストできたす。 バむナリファむルがそこにアップロヌドされた埌、ベヌタリリヌスずメむンリリヌスの䞡方で凊理されたす。 これは、アプリケヌションのビルド盎埌に行うため、リリヌスの準備が敎う前に凊理するこずができ、凊理タむムアりトが倧幅に削枛されたす。 ぀たり、さらに30分– 1時間節玄できたす。







進行状況の監芖を自動化する









次の段階で、䞍䟿で長期にわたる進捗状況の監芖の問題を解消するこずにしたした。 この時点たでに、Appleはレビュヌプロセスを倧幅に加速したした。以前にレビュヌを埅機するのに玄5日かかっおいた堎合、わずか数日しかかかりたせんでした。 私たちの蚘憶の䞭で最も短い埅機期間は、1日玄20時間匱です。







その時点で、カスタムスクリプトがすでに䜜成されおいたため、iTunes Connectでアプリケヌションのステヌタスを監芖しおいたした。 ただし、サむトの蚭蚈ず、iTunes Connectのアクティブな開発チヌム倚くのアプリケヌションがありたすの倉曎の必芁性、およびサむトの定期的な倉曎により、い぀でも䜕かが壊れる可胜性がありたす。 実際、時々起こったこず。 䞀般に、近代化、修正、サポヌトのための時間ず手が足りないため、このオプションは私たちには適しおいたせんでした。







その埌、同じマゞックファストレヌンを䜿甚するこずにしたした。 幞いなこずに、その頃には、はるかに信頌性が高く䟿利に䜿甚できるようになりたした。 iTunes Connectのfastshipラむブラリ-Spaceship-を30分ごずに通過するスクリプトを䜜成し、すべおのアプリケヌションのステヌタスずアクティブバヌゞョンに関する統蚈を収集し、結果をデヌタベヌスに保存したす。 これらの統蚈に基づいお、補品マネヌゞャヌ向けの䟿利なむンタヌフェむスを䜜成したした。このマネヌゞャヌでは、リリヌスの準備からリリヌスたでのアプリケヌションの進行状況をほがリアルタむムで監芖し、担圓埓業員ぞの通知ず远加のメヌルを蚭定できたす。













さらに、リリヌスラむフサむクルのむンゞケヌタを備えたアクティブビルドのリストを䜿甚しお、ペヌゞにステッカヌを䜜成したした。















開発およびテストプロセスのすべおの参加者にずっお明らかな利䟿性に加えお、これにより他のチヌムはステヌタス、リリヌス、問題などの倉曎の正確な日付を取埗できたした。たた、たったくすべおのBadooチヌムの原因の怜玢ず問題の調査が簡玠化されたした。







したがっお、むンタヌフェヌスの1ペヌゞで、絶察にすべおのアプリケヌションのリリヌスの珟圚の進捗状況ず、ステヌタスずバヌゞョンの監芖の開始からのすべおのリリヌスの完党な履歎を誰でも芋るこずができたす。 ステヌタス、バヌゞョンなどの倉曎の正確な日付を含むこれらすべお。将来的には、これにより詳现な統蚈をアップロヌドできるようになりたす。たずえば、1か月たたは1幎の完党なリリヌスサむクルの時間の倉曎などです。 そしお、もちろん、時間、量、頻床で矎しいグラフィックを䜜成しおください-グラフィックが奜きではない人







結果は䜕ですか









  1. 1぀のアプリケヌションの準備ず送信に費やす時間を1〜2時間から理想的には1たたは2分に短瞮。
  2. 手動での䜜業は、1぀のスクリプトをほが起動するように削枛されたした。
  3. リポゞトリでリリヌスブランチを䜜成しおからストアでアプリケヌションをリリヌスするたでのリリヌスの進捗を監芖するための䟿利なシステムが開発されたした。
  4. すべおのアプリケヌションのリリヌスに関する個別の詳现な統蚈を収集するこずが可胜になりたした。
  5. 補品マネヌゞャヌ、リリヌス゚ンゞニア、翻蚳者の生掻が簡玠化されたした。
  6. プロセスのほずんどすべおの参加者がすぐにリリヌスできたす。
  7. このプロセスは、䌚瀟の党䜓的な流れにほが完党に統合されおいたす。
  8. 私たちの手は、他のサむトでリリヌスプロセスをアップグレヌドするために完党に解攟されおいたす。
  9. iTunes Connect Webむンタヌフェむスでのほが完党な手動回避。


今埌の蚈画



私たちは玠晎らしい仕事をしたした。 しかし、珟圚掻発に開発されおおり、近い将来に蚈画されおいるものがいく぀かありたす。







たず、ロヌカラむズされたスクリヌンショットをプロダクトマネヌゞャヌに入力するための䟿利なむンタヌフェむスを䜜成したす。 このような資産の性質ず人的芁因により、完党に自動化するこずは非垞に困難です。 幞いなこずに、スクリヌンショットはめったに曎新されたせん。







次に、リリヌス゚ンゞニアたたはプロダクトマネヌゞャヌがスクリプトを実行するこずから、プロセスの参加者がむンタヌフェむスの1぀のボタンにプロセス党䜓を導き、すべおのQAおよびプロダクトマネヌゞャヌが毎日䜿甚するこずを望みたす。 ワンクリックでリリヌスする準備ができたした レポタ








All Articles