React Native Entegrasyonu
Socketra'yı React Native uygulamanıza entegre edin ve gerçek zamanlı mesajlaşma özelliklerini kullanın.
Kurulum
Öncelikle Socket.IO client kütüphanesini projenize ekleyin:
# npm ile
npm install socket.io-client
# yarn ile
yarn add socket.io-client
Bağlantı Kurma
Socketra sunucusuna bağlanmak için projenizin app_key'ini kullanın. App key'inizi dashboard'unuzdan alabilirsiniz.
import io from 'socket.io-client';
const socket = io(
'https://socketra.net/project-YOUR_PROJECT_ID',
{
auth: {
app_key: 'YOUR_APP_KEY'
}
}
);
Not: YOUR_PROJECT_ID ve YOUR_APP_KEY değerlerini dashboard'unuzdaki proje detaylarından alabilirsiniz.
Örnek Kullanım
Aşağıda React Native için tam bir örnek uygulama bulunmaktadır:
import React, { useEffect, useState } from 'react';
import { View, Text, TextInput, Button } from 'react-native';
import io from 'socket.io-client';
const App = () => {
const [socket, setSocket] = useState(null);
const [messages, setMessages] = useState([]);
const [message, setMessage] = useState('');
useEffect(() => {
const newSocket = io(
'https://socketra.net/project-1',
{
auth: {
app_key: 'your-app-key-here'
}
}
);
newSocket.on('connect', () => {
console.log('Socketra'ya bağlandı!');
});
newSocket.on('message', (data) => {
setMessages((prev) => [...prev, data]);
});
newSocket.on('disconnect', () => {
console.log('Bağlantı kesildi');
});
setSocket(newSocket);
return () => newSocket.close();
}, []);
const sendMessage = () => {
if (socket && message) {
socket.emit('message', {
text: message,
timestamp: Date.now()
});
setMessage('');
}
};
return (
<View>
<Text>Mesajlar:</Text>
{messages.map((msg, i) => (
<Text key={i}>{msg.text}</Text>
))}
<TextInput
value={message}
onChangeText={setMessage}
/>
<Button title="Gönder" onPress={sendMessage} />
</View>
);
};
Event'ler
connect
Socket bağlantısı kurulduğunda tetiklenir.
socket.on('connect', () => {
console.log('Bağlandı!');
});
disconnect
Socket bağlantısı kesildiğinde tetiklenir.
socket.on('disconnect', () => {
console.log('Bağlantı kesildi');
});
message
Sunucudan mesaj geldiğinde tetiklenir.
socket.on('message', (data) => {
console.log('Mesaj:', data);
});
Önemli Notlar
- • App key'inizi güvenli tutun ve asla public repository'lere commit etmeyin.
-
•
Production ortamında
https://socketra.netkullanın. - • Bağlantıyı component unmount olduğunda kapatmayı unutmayın.
-
•
Her proje için farklı namespace kullanılır:
/project-{PROJECT_ID}