ブックマーク / tech.mirrativ.stream (6)

  • モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog

    こんにちは、エンジニアのちぎら(@_naru_jpn)です。ミラティブでは、配信中のゲームに視聴者が介入できるゲームとライブ配信が融合した次世代のゲーム体験を提供しており、この体験を ライブゲーミング と呼んでいます。 ライブゲーミングは、Unity から WebGL 向けにビルドされた WebAssembly 製のゲームを、アプリに配置したウェブブラウザ上で動作させることによって実現しています。*1 今回は UnityでモバイルWebGLゲーム開発を頑張る話 の「メモリリークによって発生するクラッシュ」にも書かれているような、捕捉は難しいがユーザー影響があるような例外の発生を捕捉して、計測をするための仕組み作りについて解説をします。 ライブゲームが動作する仕組み 例外を捕捉することを考える前に、ライブゲームがどのように動作しているのかを知る必要があります。 Unity の WebGL 向

    モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog
    yoheimuta
    yoheimuta 2024/03/18
  • 内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog

    インフラストリーミングチームの近藤 (@udzura) です。今回は、ミラティブで内製しているオブジェクトストレージサーバ「b3」の紹介記事を書きたいと思います。 今回の記事は、6月にGopher Talkというイベントで発表した「Go製ミドルウェアを実践投入するにあたりやったこと」をベースに、内容を詳細にしたり直近の開発状況に合わせて更新したものです。一部内容はこの発表と重複していますがご了承ください。 オブジェクトストレージサーバを内製した背景 1. 大量オブジェクトの操作や増え続ける転送量に対応したい 2. 一定期間しかファイルの保持をしない 3. オンメモリ/SSD/HDDを組み合わせたチューニングがしたい オブジェクトストレージb3の特徴 S3 互換の基的なAPIを実装 LSM-Tree index+WALなDB/マージ操作に対応 I/O 帯域を制限可能 非同期レプリケーション

    内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog
  • 【iOS】SwiftLint のバグに遭遇したのでコントリビュートしてみたら学びを得た - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。 ミラティブの iOS アプリでは SwiftLint を活用して開発を行なっています。先日アプリの開発中に、SwiftLint 0.44.0 で、あるルールについての autocorrect の結果が想定外のものになりアプリのビルドが通らなくなるという事象に遭遇しました。1 今回はそのバグを修正したという話、修正する中で SwiftLint の中身には参考になる箇所が沢山あった話、を書こうと思います。 背景 今回遭遇した事象は redundant_optional_initialization ルールに関するもので、このルールは「Optional な stored property は = nil による初期化は省略できるよ」という内容です。 var hoge: Int? = nil // ~ // Redundan

    【iOS】SwiftLint のバグに遭遇したのでコントリビュートしてみたら学びを得た - Mirrativ Tech Blog
    yoheimuta
    yoheimuta 2021/11/02
  • 【iOS】ゲームアプリの音声設計とミラティブの配信について - Mirrativ Tech Blog

    こんにちは。エンジニアのshogo4405です。ゲーム開発会社様より、iOSで画面収録またはミラティブで配信をすると、SEは鳴るが、BGMが消える場合がある。技術的な仕様について教えてくださいと連絡をいただく場合があります。 エントリーでは、ミラティブの配信中にゲームBGMが鳴らない現象について、ゲームアプリ側での回避方法の例をご紹介したいと思います。 はじめに ミラティブのライブ配信は、iOS11で導入されたReplayKitAPIを利用して実現しています。iOS標準機能として画面収録と呼ばれています。画面収録の利用方法は、次の通りです。 [設定.app] → [コントロールセンター] → [コントロールを追加] → [画面収録]を追加する[画像1] コントロールセンターを開き、新規登場した ◉ マークを長押しする。[画像2] [写真] を選び。収録を開始する。 画面収録開始後に時

    【iOS】ゲームアプリの音声設計とミラティブの配信について - Mirrativ Tech Blog
    yoheimuta
    yoheimuta 2021/07/02
  • 【iOS】Unity Framework とクラッシュ解析の取り組み - Mirrativ Tech Blog

    こんにちは、Mirrativ iOS エンジニアのちぎらです。クラッシュが発生して、その原因が分からないととてもかなしい気持ちになります。このブログでも以前から触れているように、Mirrativ のクライアントアプリではエモモなどの表示に Unity を使用しています。今回は、Unity の Framework とその内部で発生したクラッシュ解析の取り組みについて紹介をしたいと思います。 隠されたクラッシュ情報 Mirrativ iOS アプリではクラッシュ情報の解析と集計に Firebase Crashlytics を使用しています。Bitcode を有効にしている場合、App Store Connect からダウンロードした dSYM ファイルを Firebase Crashlytics にアップロードすることによってクラッシュ情報の詳細が見えるようになります。しかし、dSYM ファイ

    【iOS】Unity Framework とクラッシュ解析の取り組み - Mirrativ Tech Blog
    yoheimuta
    yoheimuta 2021/06/23
  • ミラティブ おすすめ配信の仕組みについて解説 - Mirrativ Tech Blog

    こんにちは、エンジニアのタテノです。 ミラティブアプリを起動するとおすすめ配信の一覧が表示されます。 今回はこのおすすめ配信の仕組みについて解説しつつ、おすすめ配信の運用・改善を行う上でのポイントなどをまとめてみました。 システム面では機械学習などのトピックも含みますが、今回はサーバサイドの設計周り、特にパフォーマンスを考慮している部分にフォーカスしています。 おすすめ配信一覧 おすすめ配信の役割 ユーザはすでにお気に入りの配信があれば、フォロータブから配信に入室しますが、ミラティブをはじめて初期の段階やお気に入りの配信がない場合は、そのほとんどはおすすめ配信から配信に入室します。おすすめ配信はユーザが配信に興味を持つきっかけとしてその役割を果たしており、とても重要です。 ミラティブでは常時、多数の配信が行われており一度に全ての配信を表示することはできません。たくさんある配信の中からそのユ

    ミラティブ おすすめ配信の仕組みについて解説 - Mirrativ Tech Blog
    yoheimuta
    yoheimuta 2021/05/26
  • 1