5.1さらうどんスマートフォン用の表示で見る5.1さらうどん@giginetの技術ブログ。ゲーム開発、iOS開発、その他いろいろこの広告は、90日以上更新していないブログに表示しています。Calendar1日目の記事です。Qiita誰も立ててないので立ててみましたが、今年は参加者が少なく、炎上気味なのでご興味のある方はぜひ参加してみてください。Calendarなので、Qiitaで書いた方が見やすいかと思ったのですが、自分の作った物を発信する場としてはQiitaは不適だと思い、ブログに書くことにしました。ソーシャル連携用のプラグイン作った今回はCCSocialShareというcocos2d-xから簡単にTwitter/Facebookに投稿できるプラグインを作ってみたのでご紹介します。github.comcocos2d-xでTwitterやFacebookにスクリーンショットなどを投稿したい!という需要は高いはずだけど、どうにも共通化された上手い仕組みが見つからない。cocos2d-xが公式で提供されているplugin-xというプラグインで、ソーシャル連携機能が提供されているけれど、組み込み方が煩雑だったり、OS標準の機能を使っていないため、使い勝手が悪い感じでした。github.complugin-xでは、認証に独自の機構を使っていて、いちいちoAuth認証をしないといけなかったりで非常に面倒。使っていたコードを切り出して汎化してみた。「究極」っていうのは若干誇張が入っているけど、言った物勝ちだと思ってる。}}こんな感じでSocialManager::postMessageを呼べばiOS/Androidから簡単に使える。渡す引数によってTwitter/Facebookに対応している。iOSの場合、このように標準の共有機能が立ち上がるため、既に設定されていれば即座につぶやける。Androidはインテントを使って、Twitter/Facebookアプリを起動できるため、こちらも認証不要。コールバックにも対応しているため、ラムダ式を渡すと、投稿したり、キャンセルした後になんらかの処理をさせることもできる。(iOSのみ)ファイルパスを渡せば画像添付も行える。単純にスクリーンショットを共有するだけなら以下の通り。}}敢えて画像を縮小する機能などは実装していない。実際にこのようにしてスクリーンショットを添付してしまうと大きすぎるので、必要に応じて縮小すると良いと思う。組み込み方法https://github.com/giginet/CCSocialShare/blob/master/README.md#how-to-integrateiOS/Androidへの組み込み方法は上記のREADMEに書いてあるので、この通りに組み込めば良いと思う。iOSiOSはSocialManager.{h,mm}とSocial.frameworkをプロジェクトに読ませれば簡単に使える。Gradleを用いてビルドするように設計している。静的ライブラリをビルドするためのAndroid.mkと、Androidアプリ側に組み込むためのbuild.gradle両方の更新が必要で、ビルドもそれぞれ行わないといけないため、iOSに比べて煩雑になっている。旧来のAntを使ったビルドのドキュメントは書いていないけど、上手い感じにやればビルドできると思う。現在、Android版ではコールバックを呼ぶ機構に対応していない。実装の目処は付いたが、以下のような理由で障害が多くて実装されていない。良い方法が見つからなかった。インテント終了のコールバック時の設計インテントが終了したことの検知はActivityでやるのが一般的なようで、組み込む際にCocos2dxActivityを書き換える必要が出てきて、組み込みの手間が増えてしまう。LibraryのShareCompatなどを利用すればさらにスマートに実装できるかもしれない。🙏CIしたいAndroid/iOSクロスプラットフォームで確認するのが大変面倒だったのでCI環境を整備したい感じ。cocos2d-xをsubmoduleとして読んできてデモアプリをビルドする感じが良いかなあと考えています。ご利用ください以下から導入できます!!!インターフェイスなどは予告なく変更される可能性があります。大型本この商品を含むブログを見る拙著ではございますが、ぜひこちらの本で入門しましょう。Calendarにも参加いただけると幸いです。発売から1年が経つんですね。ついでにゲームもよろしく最近新作が出せていないのですが、以前出したゲームを貼っておきます。ご興味のある方はぜひ。UIライブラリのCI改...最近、Swiftでライブラリを作るのが趣味なgiginetです。Camera』をリリースしましたXcodeのPlaygroundを簡単に管理できるツール「Toybox」を作りましたHotentrySearchはてなブログをはじめよう!gigi-netさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。