Latest 0.0.1
Homepage https://github.com/ICTFractal/IF_FirebaseFollowHelperKit
License MIT
Platforms ios 9.3, requires ARC
Dependencies Firebase
Authors

Firebaseにユーザフォロー機能を追加します。
ドキュメントはこちらです。

Features

  1. Firebaseのデータ構造を意識せずに、フォロー関連の機能を利用できます。
  2. 他ユーザがログインユーザに関わる操作を行った場合、リアルタイムに通知を受け取る事ができます。
  3. 単純なArrayで処理結果が返されるので、filterなどの加工処理が容易です。

How to use

前提条件

IF_FirebaseFollowHelperKitはFirebaseに機能を追加するため、Firebaseが動作している事が前提条件となります。
またユーザ識別に認証情報を利用するため、認証済みのFirebaseインスタンスを利用する必要があります。

初期化

self.firebaseRefは認証済みのFirebaseインスタンスです。

let followHelper = IF_FirebaseFollowHelper(firebaseRef: self.firebaseRef)

ユーザをフォローする

let uid = 対象ユーザのuid
followHelper.follow(uid)

ユーザのフォローを解除する

let uid = 対象ユーザのuid
followHelper.unFollow(uid)

認証ユーザがフォローしているユーザのリストを得る

followHelper.getFollowList() { followList in
  print(followList)
}

認証ユーザをフォローしているユーザのリストを得る

followHelper.getFollowerList() { followerList in
  print(followerList)
}

ユーザをブロックする

let uid = 対象ユーザのuid
followHelper.block(uid)

ユーザのブロックを解除する

let uid = 対象ユーザのuid
followHelper.unBlock(uid)

認証ユーザがブロックしているユーザのリストを得る

followHelper.getBlockList() { blockList in
  print(blockList)
}

認証ユーザをブロックしているユーザのリストを得る

followHelper.getBlockerList() { blockerList in
  print(blockerList)
}

イベントを受信する

例えばどこか別の場所であるユーザが認証ユーザをフォローした時など、リアルタイムにヘルパーからメッセージが発行されます。
メッセージは NSNotificationCenter.defaultCenter() を介して通知されるので、受信したい場所にオブザーバを登録してください。
発行されるメッセージはこちらをご覧下さい。

例)他のユーザが認証ユーザをフォローした際に通知される AddedFollower メッセージを受け取ります

override func viewDidLoad() {
  super.viewDidLoad()
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.handleNotification(_:)), name: nil, object: nil)
}

func handleNotification(notification: NSNotification) {
  if notification.name == IF_FirebaseFollowHelperMessage.AddedFollower {
    if let uid = userInfo["uid"] as? String, let timestamp = userInfo["timestamp"] as? NSDate {
      print("[(uid)] followed you. (timestamp)")
    }
  }
}

Runtime Requirements

Firebase

Installation and Setup

プロジェクトに IF_FirebaseFollowHelper.swift を追加してください。

Demo Setup

デモを確認する場合、次の手順を実施してください。

  1. Demoディレクトリで pod install を実行し、Firebaseを環境に追加します。
  2. 作成された Demo.xcworkspace を開きます。
  3. UsersViewController.swift 内にある firebaseURL に、Firebase Data URLを設定します。

Cocoapods

Cocoapodsからのインストールに対応しています。
下記のようにPodfileを作成し、 pod install を実行してください。
※Firebaseもインストールされます。

use_frameworks!

target ‘プロジェクト名’ do
pod ‘IF_FirebaseFollowHelperKit’
end

License

MIT License

Author

ICT Fractal

Latest podspec

{
    "name": "IF_FirebaseFollowHelperKit",
    "version": "0.0.1",
    "summary": "Firebaseu306bu30e6u30fcu30b6u30d5u30a9u30edu30fcu6a5fu80fdu3092u8ffdu52a0u3057u307eu3059u3002",
    "description": "- Firebaseu306eu30c7u30fcu30bfu69cbu9020u3092u610fu8b58u305bu305au306bu3001u30d5u30a9u30edu30fcu95a2u9023u306eu6a5fu80fdu3092u5229u7528u3067u304du307eu3059u3002n- u4ed6u30e6u30fcu30b6u304cu30edu30b0u30a4u30f3u30e6u30fcu30b6u306bu95a2u308fu308bu64cdu4f5cu3092u884cu3063u305fu5834u5408u3001u30eau30a2u30ebu30bfu30a4u30e0u306bu901au77e5u3092u53d7u3051u53d6u308bu4e8bu304cu3067u304du307eu3059u3002n- u5358u7d14u306aArrayu3067u51e6u7406u7d50u679cu304cu8fd4u3055u308cu308bu306eu3067u3001filteru306au3069u306eu52a0u5de5u51e6u7406u304cu5bb9u6613u3067u3059u3002",
    "homepage": "https://github.com/ICTFractal/IF_FirebaseFollowHelperKit",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "ICT Fractal": "[email protected]"
    },
    "social_media_url": "https://twitter.com/melodyboxyk",
    "platforms": {
        "ios": "9.3"
    },
    "source": {
        "git": "https://github.com/ICTFractal/IF_FirebaseFollowHelperKit.git",
        "tag": "0.0.1"
    },
    "source_files": "IF_FirebaseFollowHelperKit/**/*.swift",
    "requires_arc": true,
    "dependencies": {
        "Firebase": []
    }
}

Pin It on Pinterest

Share This