我正在开发一个使用Firebase作为后端的聊天应用.需要在每个新消息接收器上获得推送通知,说明他收到了新消息.这是我第一次这样做,所以我有一个问题:
由于我们不使用自己的服务器,我们是否需要第三方提供商(例如Batch)来处理推送通知?如果我没有弄错的话,我认为Firebase不支持发送这样的推送通知,而只支持从控制台发送的推送通知.
任何帮助都会很棒.
push-notification ios firebase firebase-cloud-messaging firebase-notifications
我刚开始使用 NoSQL 结构,所以我有一个关于数据结构的问题。
我们正在开发一个包含群组的应用程序。您可以创建一个组(工作、家庭、密友、自定义)并选择将包含在其中的用户。每个用户都有自己的组。
还可以选择与该人创建聊天 - 用户可以与不同的人创建多个聊天。
我创建了一个 json 结构,所以如果你可以检查它是否是非规范化的,或者我是否可以以某种方式改进它。
{
"groups" : {
"gid1" : {
"name" : "This is first group",
"members" : {
"uid1" : true,
"uid2" : true
}
},
"gid2" : {
"name" : "This is second group",
"members" : {
"uid2" : true,
"uid3" : true
}
}
},
"chats" : {
"cid1" : {
"members" : {
"udi1" : true,
"uid2" : true
},
"messages" : {
"m1" : true,
"m2" : true, …Run Code Online (Sandbox Code Playgroud) 所以我使用 AVCaptureSession 用前置摄像头拍照。我还从此会话中创建预览层以在屏幕上显示当前图像。
previewLayer = AVCaptureVideoPreviewLayer(session: session)
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
Run Code Online (Sandbox Code Playgroud)
一切都按其应有的方式进行。但现在我遇到了一个问题,因为我需要实现一个按钮来翻转/镜像(变换)此预览图层 - 这样用户就可以选择拍摄正常的自拍照或拍摄镜像的自拍照。
我已经尝试过转换 PreviewLayer 并且它有点有效。问题是,如果您旋转设备,预览图片会以另一种方式旋转,因为它已被变换。(在默认或任何其他相机应用程序中,图片随相机旋转)。任何人都知道如何实现这一目标?
镜像预览图层:(我尝试变换图层,甚至稍后查看,结果相同)。
@IBAction func mirrorCamera(_ sender: AnyObject) {
cameraMirrored = !cameraMirrored
if cameraMirrored {
// TRANSFORMING VIEW
self.videoPreviewView.transform = CGAffineTransform(scaleX: -1, y: 1);
// OR LAYER
self.previewLayer.transform = CATransform3DMakeScale(-1, 1, 1);
} else {
self.videoPreviewView.transform = CGAffineTransform(scaleX: 1, y: 1);
self.videoPreviewView.transform = CATransform3DMakeScale(1, 1, 1);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个自定义相册,我的应用程序在其中保存相机中的图片。我想知道是否可以在相册中创建文件夹,以便在其中堆叠某些图像?
回答
正如其他成员所提到的,遗憾的是您无法在相册内创建文件夹。