daangn/SushiBelt

UIScrollView内のビュー表示率を正確に計測し、広告インプレッション計測などに対応するSwiftライブラリです。

開発の材料要確認 · NOASSERTIONモバイルSwift難易度
88+0今週0
9フォーク0Issue

中辛 の解説

Swift製のライブラリで、UIScrollViewを監視して各アイテムの可視率(表示割合)をリアルタイム計測します。スタックはCocoaPodsおよびSwift Managerに対応し、iOS 12.0以上で動作します。DataSourceパターンでトラッキング領域と各アイテムの目標可視率を定義し、DelegateコールバックでdidEnter(閾値到達)・didExit(閾値離脱)・willBeginTrackingなどのイベントを受け取ります。カスタム識別子、差分チェッカー、可視率計算ロジックのプラグイン拡張に対応し、デバッグ用ビジュアライザーが組み込まれています。

이런 레포예요

이럴 때 쓰면 좋아요

  • 広告の表示回数をユーザーの視認割合に基づいて正確に計測する場合
  • スクロールフィード内でコンテンツの可視率を監視し、表示時間などを記録する場合
  • ECアプリで商品画像がどれくらい画面に映っているかをトラッキングし、ユーザー行動分析に活用する場合

핵심 기능

各ビューの可視率を個別に設定可能な柔軟なトラッキング機構対称的な閾値追跡(didEnter・didExit)による開始・終了ペアの信号化カスタム差分チェッカーと可視率計算ロジックのプラグイン注入対応

대안 대비 차별점

各アイテムごとに異なる可視率基準を設定でき、かつトラッキングメカニズムと計算エンジンをプラグイン型で拡張できるため、複雑な計測要件に柔軟に対応します。

食べた人たち

実際に使ってみた人の記録です — 一言も完走の記録も、確認のうえで公開しています。

試食評 · 使った人のひとこと

まだ試食評がありません。使ってみたら、最初のひとことをどうぞ。

ほかのリポジトリの試食評を見る →

이 레포로 만든 것들

🖋 완주 인증하기

아직 이 레포로 만든 완주 인증이 없어요. 첫 밥도장을 찍어보세요!

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

준비물

  • iOS 12.0以上

바로 시작하기

  1. リポジトリをクローンして、Exampleディレクトリでpod installを実行します。
git clone https://github.com/daangn/SushiBelt.git
cd SushiBelt/Example
pod install
  1. SushiBeltTrackerを初期化し、DelegateとDataSourceを設定します。
let tracker = SushiBeltTracker()
tracker.delegate = someObject
tracker.dataSource = someObject
tracker.scrollView = someScrollView
  1. SushiBeltTrackerDataSourceプロトコルを実装します。
extension SomeObject: SushiBeltTrackerDataSource {
  func trackingRect(_ tracker: SushiBeltTracker) -> CGRect {
    return CGRect(...)
  }
  func visibleRatioForItem(_ tracker: SushiBeltTracker, item: SushiBeltTrackerItem) -> CGFloat {
    return 0.0
  }
}
  1. SushiBeltTrackerDelegateプロトコルを実装してコールバックを処理します。
extension SomeObject: SushiBeltTrackerDelegate {
  func willBeginTracking(_ tracker: SushiBeltTracker, item: SushiBeltTrackerItem) {
  }
  func didEnter(_ tracker: SushiBeltTracker, item: SushiBeltTrackerItem) {
  }
  func didEndTracking(_ tracker: SushiBeltTracker, item: SushiBeltTrackerItem) {
  }
}
  1. Podfileに依存関係を追加します。
pod 'SushiBelt'
  1. またはSwift Package Managerの場合、Package.swiftに追加します。
dependencies: [
    .package(url: "https://github.com/daangn/SushiBelt.git", .upToNextMajor(from: "3.0.0"))
]

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try daangn/SushiBelt

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

88+0 / 7일

使いやすさ · まねしやすいか

サンプル評点 14/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2022 年に作成

「모바일」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/daangn/SushiBelt.svg)](https://www.gitbap.com/r/daangn/SushiBelt)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る