require 'net/https'
require 'uri'
require 'json'
class Firebase
def self.create_share_url(user)
params = {
dynamicLinkInfo: {
domainUriPrefix: ENV['DOMAIN_URL_PREFIX'],
link: "https://hogehoge.jp/#{user.id}",
iosInfo: {
iosBundleId: ENV['IOS_BUNNDLE_ID'],
},
socialMetaTagInfo: {
socialTitle: user.name,
socialDescription: user.describe,
socialImageLink: user.image_url,
}
},
suffix: {
option: "SHORT"
}
}
connection = Faraday.new(url: "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=#{ENV['FIREBASE_API_KEY']}")
response = connection.post do |req|
req.headers['Content-Type'] = 'application/json'
req.body = params.to_json
end
JSON.parse(response.body)["shortLink"]
end
end
query = URI.encode_www_form(
isi: ENV['IOS_APP_STORE_ID'],
ibi: ENV['IOS_BUNNDLE_ID'],
efr: 1,
ofl: 'https://hogehoge.net/',
link: "https://hogehoge.jp/#{user.id}",
si: ENV['SNS_META_IMAGE'],
sd: user.describe,
st: user.name
)
params = {
longDynamicLink: "#{ENV['DOMAIN_URL_PREFIX']}/?#{query}",
}
@connection = Faraday.new(url: "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=#{ENV['FIREBASE_API_KEY']}")
response = @connection.post do |req|
req.headers['Content-Type'] = 'application/json'
req.body = params.to_json
end