いつも FANSHIP をご利用いただきありがとうございます。
プッシュ配信を行った際に発番される配信ID(message_id)に関して、お客様側で配信IDをDBに
保存されている場合、最大値に達する恐れがあることをご連絡させていただきます。
7/21 9:00時点 ※ で、 プッシュ配信時に自動発番される配信IDが「2,099,526,184」を超えており、
32bitのInteger型(以下、Int型)の最大値「2,147,483,647」を、8/30頃に超える見込み ※となっています。
※8/1に行った桁あふれ延命対応により最大値を超える見込みが8/30頃になりました。
※ あくまで実績ベースとなりますので、2,3日の前後が考えられます。
※ 記事下部に、最新情報を記載しておりますので、詳細はそちらを参照してください。
※ 記事下部に、最新情報を記載しておりますので、詳細はそちらを参照してください。
そのため、配信IDをお客様側の任意のDBにInt型として保存して扱っている場合、最大値に
達することでエラーが発生することが想定されます。
達することでエラーが発生することが想定されます。
■影響
<お客様独自の中間サーバーなどで配信IDを利用している場合>
中間サーバーからManagement API経由で配信を実行しているようなシステムや、
配信の分析の為に配信IDを取得・保持しているようなシステムで、以下の影響が考えられます。
中間サーバーからManagement API経由で配信を実行しているようなシステムや、
配信の分析の為に配信IDを取得・保持しているようなシステムで、以下の影響が考えられます。
- 配信IDをDBに保持しており、型をInt型で設定している場合
- プログラムで、配信IDを明示的にInt型として扱っている場合
上記の場合、配信IDがInt型の最大値(2,147,483,647)を超えた場合、桁あふれのエラーを
起こすことが想定されます。
起こすことが想定されます。
FANSHIP自体のデータ保持に関しては、以下の対応を実施しております。
- Int型ではなく、Int(unsigned)型としているため8/30頃 ※までに上限値に達する可能性は低いです。
- 配信IDがInt型の最大値(2,147,483,647)を越えた場合でも桁あふれを起こすことはございません。
<FANSHIP iOS版 SDKを利用している場合>
※ Android版 SDK に関しては現在判明している影響はありません。
以下に関連するカスタマイズを実施していた場合に、Int型の最大値(2,147,483,647)超過後に
影響が発生する場合がございます。
SDK内で保持している配信IDにおいて、マイナス値で扱われることで以下の影響が考えられる
状況です。
状況です。
- お知らせ一覧/詳細画面において配信IDを用いたプログラムの改修やデータ連携などを独自にカスタマイズしていた場合
- イベントトラッキングで配信IDを含めたカスタムイベントを設定している場合
※配信IDがマイナスの値として記録される可能性があります。 - SDKが提供するお知らせに関するコールバック関数を利用している場合
※マイナスの値の配信IDが連携されたり、通常とは異なるコールバック関数が呼び出される可能性があります。
■対策
<お客様独自で中間サーバーなどで配信IDを利用している場合>
Int型として扱っている場合は上限に達する可能性がありますので、データ型の変更を推奨します。
<FANSHIP iOS版 SDKを利用している場合>
カスタマイズ内容によりますので、上記の影響に該当する可能性があるお客様においては最新版のSDKへの切り替えをお願いします。
■配信ID数の進捗情報
以下の記事に移行しました。
https://support.fanship.jp/hc/ja/articles/9045575682585
以上でございます。
内容についてご不明点などございましたらお気軽にお問い合わせください。